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

  • 相关阅读:
    css3实现文本渐变
    元组--购物车实战
    js事件冒泡
    openssl生成v3版自签证书
    linux中可以在哪些地方增加环境变量
    linux下如何找到USB转串口
    linux下通过shell命令测试串口
    CANopen协议
    ubuntu使用虚拟can(vcan)
    移植python3到flash有限的arm
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/8952048.html
Copyright © 2011-2022 走看看