连接 inner join
用表示。
,其中
代表特定条件,称为条件连接。
:::info
对R和S做条件连接,相当于从笛卡尔积中筛选符合条件的元组。(结果相同,但是后者效率更低)
同样对上图两张表进行操作,结果如下表
上面的操作也可以简化为,称为等值连接 equi join。等值连接时,重复的属性列会被消除,如上图sid列只有一列。
:::
还有一种连接叫做自然连接 natural join,即对于所有公共属性的等值连接。
:::info
上面例子中的
就是自然连接,因为
和
的公共属性只有sid一个。
:::
外连接 outer join
外连接分为三种:
- 左外连接 left outer join:用
表示,保留左边关系的所有元组,找不到匹配的补空值。
- 右外连接 right outer join:用
表示,保留右边关系的所有元组,找不到匹配的补空值。
- 全外连接 full outer join:用
表示,保留两边关系的所有元组,找不到匹配的补空值。 :::info
上图左外连接结果的第三行,由于sid = 31找不到匹配项,找不到的项补为null值。 :::外并 outer union
用表示。
强行将两个没有并兼容的关系组合。 :::info 下图即为外并
的结果。
:::
除 division
用表示。
:::info 如图,
表示寻找
中与
中所有元组有关的元组。
:::