SQL连接查询

等值连接

连接运算符为"="

--查询每个学生以及其选修课程的情况
SELECT Studnt.*,SC.*
FROM Student,SC
WHERE Student.Sno=SC.Sno;

自身连接

  • 一个表与自己进行连接,是一种特殊的连接
  • 需要给表起别名来全部
  • 由于所有属性名都是同名属性,因此必须使用别名前缀
--查询每一个门课的直接先修课的名称
SELECT FIRST.Cname,SECOND.Cname
FROM Course FIRST,Course SECOND
WHERE FIRST.Cpno = SECOND.Cno;

外连接

--左连接可以输出左边表不符合条件的元组
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student LEFT OUTER JOIN SC ON (Student.Sno=SC.Sno)
--From Student RIGHT OUTER JOIN SC ON (Student.Sno=SC.Sno) 右连接格式

多表连接

两个以上的表进行连接

--查询每个学生的学号,姓名,选修的课程名以及成绩
SELECT Student.Sno,Sname,Cname,Grade
FROM Student,SC,Course
WHERE Student.Sno = SC.Sno
      AND SC.Cno=Course.Cno;
posted @ 2020-10-21 22:45  一个经常掉线的人  阅读(139)  评论(0)    收藏  举报