• 数据库基础-JOIN


    JOIN分类

    JOIN

    三、JOIN分类详解

    INNER JOIN

    仅仅返回两个表中,匹配列相同的列值,所在行的数据。

    InnerJOIN

    SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1

    LEFT OUTER JOIN

    左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。

    LEFTOUTERJOIN

    SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

    LEFT OUTER JOIN - WHERE NULL

    返回和右表不匹配的所有数据行

    LEFTOUTERJOIN-WHERENULL

    SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL

    RIGHT OUTER JOIN

    右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。

    RIGHTOUTERJOIN

    SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

    RIGHT OUTER JOIN – WHERE NULL

    返回和左表不匹配的所有数据行。

    RIGHTOUTERJOIN–WHERENULL

    SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL

    FULL OUTER JOIN

    完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。

    FULLOUTERJOIN

    SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 

    FULL OUTER JOIN – WHERE NULL

    返回内连接以外的数据行,即匹配列坐在行以外的所有数据。

    FULLOUTERJOIN–WHERENULL

    SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL

    CROSS JOIN:

    交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

    CrossJOIN

    SELECT * FROM Table1 t1 CROSS JOIN Table2 t2
  • 相关阅读:
    在程序中向水晶报表传参数,以及在程序中指定报表源
    运行Web程序时提示无法使用调试
    TreeView控件节点重命名后没有进入beginEdit的解决方案
    网络负载平衡(转)
    纵横表转交叉表
    重绘datagrid,包括强迫显示某行
    datagrid添加事件
    我的页面模板算法
    C++函数重载
    关于string.empty 与 "" 内存分配
  • 原文地址:https://www.cnblogs.com/Eaglery/p/5294359.html
Copyright © 2020-2023  润新知