SQL JOIN

SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。

img

INNER JOIN

  • INNER JOIN 关键字在表中存在至少一个匹配时返回行。

    SQL INNER JOIN

  • 语法:

    SELECT column_name(s)
    FROM table1
    INNER JOIN table2
    ON table1.column_name=table2.column_name;
    

    注释:INNER JOIN 与 JOIN 是相同的。

LEFT JOIN

  • LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL

    SQL LEFT JOIN

  • 语法:

    SELECT column_name(s)
    FROM table1
    LEFT JOIN table2
    ON table1.column_name=table2.column_name;
    

    注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

RIGHT JOIN

  • RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

    SQL RIGHT JOIN

  • 语法:

    SELECT column_name(s)
    FROM table1
    RIGHT JOIN table2
    ON table1.column_name=table2.column_name;
    

    注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

FULL OUTER JOIN

  • FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行

    SQL FULL OUTER JOIN

  • 语法:

    SELECT column_name(s)
    FROM table1
    FULL OUTER JOIN table2
    ON table1.column_name=table2.column_name;
    

    注释: MySQL中不支持 FULL OUTER JOIN

posted @ 2020-03-16 02:46  lcsin  Views(140)  Comments(0)    收藏  举报