文章目錄
已有三張表
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