数据库 内连接 左外连接 右外连接 全外连接

内连接

内连接中,只有满足连接条件的元组才能作为结果输出,即当任一个表中为null则不会输出。

SQL 语句:

1
2
3
SELECT FIRST.Cno,SECOND.Cpno
FROM Course FIRST,Course SECOND
WHERE FIRST.Cpno=SECOND.Cno;

左外连接

如果在查询时需要保留一个表中全部的元组,就需要使用外连接。

SQL

1
2
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student LEFT JOIN SC ON (Student.Sno=SC.Sno)

LEFT JOINLEFT OUTER JOIN 相同

使用左外连接会保存左边关系(表Student)中所有的元组以及右边关系(表SC)符合条件的元组。

右外连接

SQL

1
2
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student RIGHT JOIN SC ON (Student.Sno=SC.Sno)

RIGHT JOINRIGHT OUTER JOIN 相同

使用右外连接会保存右边关系(SC)中所有的元组以及右边关系(Student)符合条件的元组。

全外连接

SQL

1
2
SELECT A.*,B.*
FROM A FULL JOIN B ON A.id=B.id

完整外部连接返回左表和右表中的所有行,不管另外一边的表中是否存在与它们匹配的行。