史上最经典的数据库面试题之二
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                史上最经典的数据库面试题之二
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            已知關系模式:
? ? ? ? S (SNO,SNAME) 學生關系。SNO 為學號,SNAME 為姓名
? ? ? ? C (CNO,CNAME,CTEACHER) 課程關系。CNO 為課程號,CNAME 為課程名,CTEACHER 為任課教師
? ? ? ? SC (SNO,CNO,SCGRADE) 選課關系。SCGRADE 為成績
1.找出沒有選修過“李明”老師講授課程的所有學生姓名。 SELECT SNAME FROM S WHERE NOT EXISTS( SELECT * FROM SC, C WHERE SC.CNO=C.CNO AND CTEACHER='李明' AND SC.SNO=S.SNO)
                        
                        
                        ? ? ? ? S (SNO,SNAME) 學生關系。SNO 為學號,SNAME 為姓名
? ? ? ? C (CNO,CNAME,CTEACHER) 課程關系。CNO 為課程號,CNAME 為課程名,CTEACHER 為任課教師
? ? ? ? SC (SNO,CNO,SCGRADE) 選課關系。SCGRADE 為成績
1.找出沒有選修過“李明”老師講授課程的所有學生姓名。 SELECT SNAME FROM S WHERE NOT EXISTS( SELECT * FROM SC, C WHERE SC.CNO=C.CNO AND 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 )T WHERE S.SNO=T.SNO AND SC.SNO=T.SNO GROUP BY S.SNO, S.SNAME3.列出既學過“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 )T WHERE S.SNO=T.SNO4.列出“1”號課成績比“2”號同學該門課成績高的所有學生的學號。
SELECT S.SNO, S.SNAME FROM S, ( SELECT SC1.SNO FROM SC SC1, C C1, SC SC2, C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE )T WHERE S.SNO=T.SNO5.列出“1”號課成績比“2”號課成績高的所有學生的學號及其“1”號課和“2”號課的成績。
SELECT S.SNO, S.SNAME, SC.[1號課成績], SC.[2號課成績] FROM S, ( SELECT SC1.SNO, [1號課成績]=SC1.SCGRADE, [2號課成績]=SC2.SCGRADE FROM SC SC1, C C1, SC SC2, C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME=‘1’ AND SC2.CNO=C2.CNO AND C2.NAME=‘2’ AND SC1.SCGRADE>SC2.SCGRADE )T WHERE S.SNO=T.SNO轉載于:https://www.cnblogs.com/innosight/archive/2013/05/27/3271259.html
總結
以上是生活随笔為你收集整理的史上最经典的数据库面试题之二的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: simuvex 符号分析形象解释
- 下一篇: android 使用 audioreco
