zoukankan      html  css  js  c++  java
  • 关于SQL 的多表连接问题

    1.多表连接类型

    • JOIN: 如果表中有至少一个匹配,则返回行
    • INNER JOIN(内连接):如果表中有至少一个匹配,则返回行
    • LEFT JOIN(左连接): 即使右表中没有匹配,也从左表返回所有的行
    • RIGHT JOIN(右连接): 即使左表中没有匹配,也从右表返回所有的行
    • FULL JOIN(全连接): 只要其中一个表中存在匹配,就返回行

    2.示例

    请看 "Persons" 表:

    请看 "Orders" 表:

    如果我们使用from:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P;

    结果集:

    如果我们使用join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName

    结果集:

    INNER JOIN 与 JOIN 是相同的。

    如果我们使用left join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName

    结果集:

    如果我们使用right join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName

    结果集:

    如果我们使用full join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName

    结果集:

  • 相关阅读:

    JVM基础
    rpm、yum、解压缩安装
    Vim使用及账号用户管理
    linux常用操作
    属主权限和属组权限
    解决Hystrix Dashboard 一直是Loading ...的情况
    扫描不到了@FeignClient注解的调用接口
    springcloud与springboot版本问题
    【力扣】6和9组成的最大数字 题解
  • 原文地址:https://www.cnblogs.com/mcahkf/p/9086826.html
Copyright © 2011-2022 走看看