SQL JOIN

半世苍凉 提交于 2020-03-16 03:14:05

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

INNER JOIN

  • 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

  • 语法:

    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。

  • 语法:

    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)其中一个表中存在匹配,则返回行

  • 语法:

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

    注释: MySQL中不支持 FULL OUTER JOIN

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!