sqlserver 多表鏈接查詢


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

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

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

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
在這裏插入圖片描述svg

3. 查詢哪些課程沒人選

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

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

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

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
在這裏插入圖片描述blog

相關文章
相關標籤/搜索