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

等值连接和自然连接
等值连接的含义:
它是从关系 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)。
交叉连接:
左表中的每一行与右表中的所有行组合,也称作笛卡尔积。

浙公网安备 33010602011771号