SQL进阶-外连接的用法
外连接的分类:
- 左外连接
- 右外连接
- 全外连接
其中全外连接就是如果不满足连接条件的话,两个表中的元素都会保留下来。
由于SQL是以集合论为基础的语言,所以我们可以做以下操作进行集合运算:
交集:内连接实现,在SQL标准中,可以是使用intersect
并集:全外连接,SQL标准中是union
差集:外连接后取b列为null的行,或者可以通过not in 或者 not exist实现。
异或:先取差集,然后从A表把差集中的元素筛选掉。
通常情况下我们需要在做将数据库行转为列的场景中可以使用:
- 外连接
- 标量子查询
- case表达式
当两个表如果其中的元素是一对一或者一对多的关系的话:我们可以直接进行连接然后聚合求结果。
但是如果两个表的元素之间是多对多的关系的话,就需要把某一个表先进行聚合然后再连接。
文章探讨了SQL中的外连接类型,包括左外连接、右外连接和全外连接,并阐述了如何利用它们进行交集、并集、差集和异或等集合运算。全外连接用于保持两个表的所有元素,而外连接结合聚合函数可用于处理多对多关系的数据。此外,还提到了在外连接中使用标量子查询和CASE表达式来处理行转列的问题。
2888

被折叠的 条评论
为什么被折叠?



