本文共 1474 字,大约阅读时间需要 4 分钟。
join 用于把来自两个或多个表的行结合起来。分为 LEFT JOIN、RIGHT JOIN、INNER JOIN、FULL OUTER JOIN
json子句 | 作用 |
---|---|
INNER JOIN / JOIN | 如果左右俩表中有至少一个匹配,则返回符合条件的行 |
LEFT JOIN | 即使右表中没有匹配,也从左表返回所有的行 |
RIGHT JOIN | 即使左表中没有匹配,也从右表返回所有的行 |
FULL OUTER JOIN | 只要其中一个表中存在匹配,则返回行 |
on是在生成连接表的起作用,where是生成连接表之后对连接表再进行过滤;
INNER JOIN求table1、table2俩表满足条件的交集,其语法如下:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name;或:SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name=table2.column_name;/*INNER JOIN 与 JOIN 是相同的*/
LEFT JOIN从table1返回所有的行,即使table2中没有匹配。如果右表中没有匹配,则结果为 NULL。其语法如下:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;或:SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name=table2.column_name;
RIGHT JOIN从table2返回所有的行,即使table1中没有匹配。如果右表中没有匹配,则结果为 NULL。其语法如下:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name;或:SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name=table2.column_name;
FULL OUTER JOIN结合了 LEFT JOIN 和 RIGHT JOIN 的结果,返回table1和table2中的行。其语法如下:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;
转载地址:http://pushn.baihongyu.com/