1、SQL join 分三种
1)inner join(内连接,也叫等值连接)
显示两个表中有联系的所有数据,是默认方式。
2)cross join(交叉连接)
两个表格做笛卡尔积,显示的数据行数是两个表格行数的乘积,简单地说,就是简单地将所有列拼接在一起,不需要考虑列值的匹配。遇到同名的列,就加(1)(2)…… 作为区分。
3)outer join(外连接)
2、outer join分三种
需要注意的是,from 语句后面接的是左表,left/right/full join 后面接的是右表。
1)left join
采用 left join 的时候,优先展示的是左表的所有数据,而右表的数据根据与左表的关联关系拼接到右边,没有值的项设为 Null。
2)right join
采用 right join 的时候,优先展示的是右表的所有数据,而左表的数据根据与右表的关联关系拼接在左边,没有值的项设为 Null。
3) full join
展示左表和右表的所有数据,与cross join的区别在于,full join 显示左连接、右连接和内连接的并集,而不是简单地拼接各列数据。
3、看图辅助理解
本篇博文的知识整合仅用于简单地记住理论内容,具体了解请参考如下文章:
【SQLite】SQLite数据库的内连接INNER JOIN、左连接LEFT JOIN、右连接RIGHT JOIN和交叉连接CROSS JOIN 关键字_sqlite 连接_logani的博客-CSDN博客
left join、right join和join,傻傻分不清? - 知乎
【一起来补课】一文彻底搞懂Left Join、Right Join和Inner Join_left join right join innerjoin_小样yx的博客-CSDN博客
FULL JOIN和CROSS JOIN的区别_一点莹的博客-CSDN博客