连接 inner join

额外推导的关系代数 - 图1表示。
额外推导的关系代数 - 图2,其中额外推导的关系代数 - 图3代表特定条件,称为条件连接。 :::info 对R和S做条件连接,相当于从笛卡尔积中筛选符合条件的元组。(结果相同,但是后者效率更低)
同样对上图两张表进行额外推导的关系代数 - 图4操作,结果如下表
image.png
上面的操作也可以简化为额外推导的关系代数 - 图6,称为等值连接 equi join。等值连接时,重复的属性列会被消除,如上图sid列只有一列。 ::: 还有一种连接叫做自然连接 natural join,即对于所有公共属性的等值连接。 :::info 上面例子中的额外推导的关系代数 - 图7就是自然连接,因为额外推导的关系代数 - 图8额外推导的关系代数 - 图9的公共属性只有sid一个。 :::

外连接 outer join

外连接分为三种:

  • 左外连接 left outer join:用额外推导的关系代数 - 图10表示,保留左边关系的所有元组,找不到匹配的补空值。
  • 右外连接 right outer join:用额外推导的关系代数 - 图11表示,保留右边关系的所有元组,找不到匹配的补空值。
  • 全外连接 full outer join:用额外推导的关系代数 - 图12表示,保留两边关系的所有元组,找不到匹配的补空值。 :::info image.png
    image.png
    上图左外连接结果的第三行,由于sid = 31找不到匹配项,找不到的项补为null值。 :::

    外并 outer union

    image.png表示。
    强行将两个没有并兼容的关系组合。 :::info 下图即为额外推导的关系代数 - 图16外并额外推导的关系代数 - 图17的结果。
    image.png :::

    除 division

    额外推导的关系代数 - 图19表示。
    额外推导的关系代数 - 图20 :::info 如图,额外推导的关系代数 - 图21表示寻找额外推导的关系代数 - 图22中与额外推导的关系代数 - 图23中所有元组有关的元组。
    image.png :::