sql
数据库
提示
Hive SQL 教程 编写中,使用过程中有任何建议,提供意见、建议、纠错、催更加微信 gairuo123。欢迎关注本教程作者新书《深入浅出Pandas:利用Python进行数据处理与分析》 。作者开办 Python 数据分析培训,详情 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 条件的区别如下:
应用过程中需要注意的问题有: