sqlserver 多表連接查詢


已有三張表
student表:
在這裏插入圖片描述
選課表SC:
在這裏插入圖片描述
課程表Course:
在這裏插入圖片描述

1. 查詢每個學生的學號、姓名、課程代號及選課成績,不允許有重複列

SELECT Student.SID,Student.Sname,SC.CID,SC.Scores
FROM Student INNER JOIN SC ON Student.SID=SC.SID
在這裏插入圖片描述

2. 查詢每個學生的學號、姓名、課程名及選課成績

SELECT Student.SID,Student.Sname,Course.Cname,SC.Scores
FROM Student INNER JOIN SC ON Student.SID=SC.SID INNER JOIN Course ON SC.CID=Course.CID
在這裏插入圖片描述

3. 查詢哪些課程沒人選

SELECT Course.Cname
FROM Course LEFT OUTER JOIN SC ON course.cid = sc.cid
WHERE Scores IS NULL
在這裏插入圖片描述

4. 查詢男生中沒選課的學號、姓名、性別

SELECT Student.SID,Sname,Sex
FROM Student LEFT OUTER JOIN SC ON Student.SID=SC.SID
WHERE Sex=‘男’ AND Scores IS NULL
在這裏插入圖片描述

5.查詢每個男生的選課門數,包括沒有選課的男生,結果按照選課門數遞減排序。

SELECT Student.Sname,COUNT(SC.Scores) AS 選課門數
FROM Student LEFT OUTER JOIN SC ON Student.SID=SC.SID
WHERE Sex=‘男’
GROUP BY Sname
ORDER BY 選課門數 DESC
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章