提示
Hive SQL 教程 欢迎使用。提供建议、纠错、催更等加作者微信: gairuo123(备注:sql )和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
SQL 语句中 JOIN 可以将两个(或者多个)表按时指定的关系链接点进行连接,然后进行处理,本页整理其处理逻辑。
SELECT <list3>
FROM
(SELECT <list1>
FROM T) AS t1
<LEFT / RIGHT> JOIN
(SELECT <list2>
FROM C) AS c1 ON t1.id = c1.id AND t1.name = c1.name
ON
为两个表的连接点。
CROSS JOIN 会让左右表排列组合,产生笛卡尔积,效果如图示:
连接方式 | 逻辑说明 |
---|---|
JOIN | 即 INNER JOIN |
INNER JOIN | 将两个表公共都有的部分组成新表 |
FULL JOIN | 包含左右两表的所有行, 对应左右表没有的都为 Null |
LEFT JOIN | 左表的全集及右表有的值,无值则为 Null |
RIGHT JOIN | 与 LEFT JOIN 相反 |
CROSS JOIN | 左右表排列组合 |
在使用 left jion 时,on 和 where 条件的区别如下:
应用过程中需要注意的问题有:
更新时间:2021-08-22 23:17:23 标签:sql 数据库