等值连接,自然连接,内连接,外连接,交叉连接

等值连接和自然连接

等值连接的含义:

它是从关系 R 与 S 的广义笛卡尔积中选取 A,B 属性值相等的那些元组。

自然连接:

  是一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

二者区别:

1.等值连接中不要求连接属性的属性名相同,而自然连接要求连接属性的属性名必须相同,即两关系有同名属性才能进行自然连接。
2.等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。

因为二者都是从笛卡尔积中选择,所以比较耗时间。

内连接:

  仅保留关系 \(R\)\(S\) 等值的元组,二者不等的元组都舍弃。最终的结果的自然连接的结果相同,但二者的执行过程不相同。自然连接是基于笛卡尔积,而内连接是以一个表为基准,在另一个中寻找符合条件的元组。
例如:

select * from book as a,stu as b where a.sutid = b.stuid

select * from book as a inner join stu as b on a.sutid = b.stuid

外连接:

以下都是以一个表为基准,从另一个表中选择。

全外连接:

  当一个表中的某行在另一个表中没有匹配行时,则另一个表的选择列表列为NULL。如果表之间有匹配行,则整个结果集行包含基表的数据值(OUTER JOIN)。

左外连接:

  以左表为基准,按条件连接,将左表没有的对应项显示的右表的列为NULL(LEFT OUTER JOIN或LEFT JOIN)。

右外连接:

  以右表为基准,按条件连接,将右表没有的对应项显示的左表的列为NULL(RIGHT OUTER JOIN或RIGHT JOIN)。

交叉连接:

  左表中的每一行与右表中的所有行组合,也称作笛卡尔积。

posted @ 2020-06-14 17:24  whix  阅读(1868)  评论(0)    收藏  举报