数据库 内连接 左外连接 右外连接 全外连接
内连接
内连接中,只有满足连接条件的元组才能作为结果输出,即当任一个表中为null则不会输出。
SQL 语句:
SELECT FIRST.Cno,SECOND.Cpno
FROM Course FIRST,Course SECOND
WHERE FIRST.Cpno=SECOND.Cno;
左外连接
如果在查询时需要保留一个表中全部的元组,就需要使用外连接。
SQL
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student LEFT JOIN SC ON (Student.Sno=SC.Sno)
LEFT JOIN 与 LEFT OUTER JOIN 相同
使用左外连接会保存左边关系(表Student)中所有的元组以及右边关系(表SC)符合条件的元组。
右外连接
SQL
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student RIGHT JOIN SC ON (Student.Sno=SC.Sno)
RIGHT JOIN 与 RIGHT OUTER JOIN 相同
使用右外连接会保存右边关系(SC)中所有的元组以及右边关系(Student)符合条件的元组。
全外连接
SQL
SELECT A.*,B.*
FROM A FULL JOIN B ON A.id=B.id
完整外部连接返回左表和右表中的所有行,不管另外一边的表中是否存在与它们匹配的行。