zoukankan      html  css  js  c++  java
  • sql (5) 左右连接

    左连接

    SQL LEFT JOIN
    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
    语法
    SELECT column_name(s)
    FROM table_name1
    LEFT JOIN table_name2
    ON table_name1.column_name=table_name2.column_name

    SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo
    FROM Persons LEFT JOIN Orders
    ON Persons.Id_P=Orders.Id_P

    新建表:

    "Persons" 表:
    Id_P LastName FirstName Address City
    1 Adams John Oxford Street London
    2 Bush George Fifth Avenue New York
    3 Carter Thomas Changan Street Beijing

    "Orders" 表:
    Id_O OrderNo Id_P
    1 77895 3
    2 44678 3
    3 22456 1
    4 24562 1

    查询:

    SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo
    FROM Persons LEFT JOIN Orders
    ON Persons.Id_P=Orders.Id_P

    效果:

     右连接

    SQL RIGHT JOIN
    RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。


    SELECT column_name(s)
    FROM table_name1
    RIGHT JOIN table_name2
    ON table_name1.column_name=table_name2.column_name

    查询:

    SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo
    FROM Persons
    RIGHT JOIN Orders
    ON Persons.Id_P=Orders.Id_P

    效果:

    总结:

    两个表的行数就是 两个表里面其中一个的最多行

    左连接 表示 左边的 lastname firstname 有5行,但是 Orders.OrderNo 只有4行 因为在Id_P 中没找到 

    Id_P

    右连接 表示 右边的Orders.OrderNo 有5行  关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。

    2018-04-26   14:54:02

  • 相关阅读:
    Django 自带密码加密,自定密码加密方式 及自定义验证方式
    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
    Django中请求的生命周期
    Django---ORM操作大全
    Django----中间件详解
    Delphi 使用Query组件的SQL查询
    Delphi 使用Tabel组件的记录查找
    Delphi 字段的操作
    Delphi 使用数据库浏览器
    Delphi 建立ODBC数据源
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/8952048.html
Copyright © 2011-2022 走看看