SQL 練習題
問題描述:
已知關係模式:
S (SNO,SNAME) 學生關係。SNO 為學號,SNAME 為姓名
C (CNO,CNAME,CTEACHER) 課程關係。CNO 為課程號,CNAME 為課程名,CTEACHER 為任課教師
SC(SNO,CNO,SCGRADE) 選課關係。SCGRADE 為成績
要求實現如下5個處理:
1. 找出沒有選修過“李明”老師講授課程的所有學生姓名
2. 列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績
3. 列出既學過“1”號課程,又學過“2”號課程的所有學生姓名
4. 列出“1”號課成績比“2”號同學該門課成績高的所有學生的學號
5. 列出“1”號課成績比“2”號課成績高的所有學生的學號及其“1”號課和“2”號課的成績
1. 找出沒有選修過“李明”老師講授課程的所有學生姓名
--實現程式碼:
SELECT SNAME FROM S
WHERE NOT EXISTS(
SELECT * FROM SC,C
WHERE SC.CNO=C.CNO
AND C.CTEACHER='李明'
AND SC.SNO=S.SNO)
2. 列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績
--實現程式碼:
SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)
FROM S,SC,(
SELECT SNO
FROM SC
WHERE SCGRADE<60
GROUP BY SNO
HAVING COUNT(DISTINCT CNO)>=2
)A WHERE S.SNO=A.SNO AND SC.SNO=A.SNO
GROUP BY S.SNO,S.SNAME
3. 列出既學過“1”號課程,又學過“2”號課程的所有學生姓名
--實現程式碼:
SELECT S.SNO,S.SNAME
FROM S,(
SELECT SC.SNO
FROM SC,C
WHERE SC.CNO=C.CNO
AND C.CNAME IN('1','2')
GROUP BY SNO
HAVING COUNT(DISTINCT CNO)=2
)SC WHERE S.SNO=SC.SNO
4. 列出“1”號課成績比“2”號同學該門課成績高的所有學生的學號
--實現程式碼:
SELECT S.SNO,S.SNAME
FROM S,SC SC1,SC SC2
WHERE SC1.CNO='1'
AND SC2.SNO='2'
AND SC1.CNO=S.CNO
AND SC1.SCGRADE>SC2.SCGRADE
5. 列出“1”號課成績比“2”號課成績高的所有學生的學號及其“1”號課和“2”號課的成績
--實現程式碼:
SELECT SC1.SNO,[1號課成績]=SC1.SCGRADE,[2號課成績]=SC2.SCGRADE
FROM SC SC1,SC SC2
WHERE SC1.CNO='1'
AND SC2.CNO='2'
AND SC1.SNO=SC2.SNO
AND SC1.SCGRADE>SC2.SCGRADE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10113559/viewspace-623944/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL練習題SQL
- sql查詢入門練習題SQL
- 牛客SQL練習第21題SQL
- SQL練習00012SQL
- SQL練習00015SQL
- Hive SQL必刷練習題:同時線上人數問題(*****)HiveSQL
- 新手練習:Python練習題目Python
- SQL經典練習題48道之一(1-10)SQL
- SQL經典練習題48道之二(11-19)SQL
- SQL經典練習題48道之三(20-25)SQL
- SQL經典練習題48道之四(26-30)SQL
- SQL經典練習題48道之五(31-35)SQL
- SQL經典練習題48道之六(36-40)SQL
- SQL經典練習題48道之七(41-48)SQL
- 習題練習題-第二題
- shell練習題
- Python 練習題Python
- mysql練習題MySql
- TypeScript 練習題TypeScript
- NFS練習題NFS
- 練習題-9
- python練習題解析Python
- 程式練習題(2)
- linux練習題(二)Linux
- Day5-SQL綜合練習(Datawhale)SQL
- [資料庫]50道經典SQL練習題,使用MySQL5.7解答資料庫MySql
- MySQL基礎練習20題,看看你的sql基礎man不manMySql
- 五、python的練習題Python
- mysql面試練習題MySql面試
- java異常練習題Java
- linux基礎練習題Linux
- python相關練習題Python
- mysql函式練習題MySql函式
- 3 月水題練習
- JAVA 基礎練習題Java
- java String類練習題Java
- 軟體工程練習題軟體工程
- Python函式練習題Python函式
- Python基礎練習題Python