数据库练习题(1)
1、表的數(shù)據(jù)結(jié)構(gòu)如下:
student表(sno,sname,sage)--學(xué)號(hào),姓名,學(xué)生年齡
course表(cno,cname,tno)--課程代碼,課程名稱,老師工號(hào)
sc表(sno,cno,score)--學(xué)號(hào),課程代碼,分?jǐn)?shù)
teacher表(tno,tname)--老師工號(hào),老師姓名
1)查詢'001'課程比'002'課程成績(jī)高的的所有學(xué)生學(xué)號(hào)
分析:相關(guān)的表sc,
方法1:分別找出001課程與002課程所有信息,然后從兩個(gè)表中找出001大于002的學(xué)生學(xué)號(hào),這種方法會(huì)用到兩個(gè)子查詢,會(huì)比較慢
方法2:用聯(lián)合查詢,把第1個(gè)SC跟第2個(gè)SC通過(guò)學(xué)號(hào)聯(lián)合再一起,然后找出聯(lián)合表1中001的課程,表2中002的課程,且表1中001課程要大于表2中002課程
語(yǔ)句:
select s1.sno from sc s1,sc s2
where s1.sno = s2.sno and s1.cno = '001' and s2.cno = '002' and s1.score > s2.score;
2)查詢平均成績(jī)大于60分的學(xué)生學(xué)號(hào)和平均成績(jī)
分析:相關(guān)的表sc,平均成績(jī):avg(score)
方法1:用1個(gè)子查詢,通過(guò)學(xué)生學(xué)號(hào)找出所有學(xué)生的平均成績(jī),然后從這個(gè) 表格中找出大于60分的學(xué)生學(xué)號(hào)及平均成績(jī)即可
方法2:顯然第1個(gè)方法,比較冗余,因此在進(jìn)行分組查詢時(shí),進(jìn)行條件限制一下就可以了,group by sno having avg(score)>60
語(yǔ)句:
select sno,avg(score) from sc group by sno having avg(score)>60;
注意:
查詢學(xué)生的平均成績(jī)時(shí),必須先對(duì)表進(jìn)行分組查詢。
3)查詢所有學(xué)生的學(xué)號(hào),姓名,選課數(shù),總成績(jī)。
分析:相關(guān)的表有學(xué)生表student,成績(jī)表sc
方法:把student表跟sc表通過(guò)學(xué)號(hào)聯(lián)合,然后通過(guò)學(xué)號(hào)進(jìn)行分組,統(tǒng)計(jì)出每個(gè)學(xué)號(hào)的課程的總數(shù)(count),及總成績(jī)(sum);
語(yǔ)句:
select s1.sno,s1.sname,count(s2.cno),sum(s2.score)
from student s1,sc s2
where s1.sno = s2.sno group by s1.sno;
4)查詢姓李老師的個(gè)數(shù)
分析:相關(guān)的表teacher
方法:統(tǒng)計(jì)個(gè)數(shù)用count函數(shù),查詢李姓老師,用like'李%'
語(yǔ)句:
select count(tname) from teacher where tname like'李%';
注意:like前面要加上where
5)查詢所有課程成績(jī)小于60分的學(xué)生姓名和學(xué)號(hào)
分析:相關(guān)的表student,score
方法:把這兩個(gè)表student與score通過(guò)學(xué)號(hào)進(jìn)行聯(lián)合,通過(guò)學(xué)號(hào)進(jìn)行分組(group by),并且選出所有課程成績(jī)小于60的學(xué)生;
又因是所有的課程成績(jī)都要小于60,那么找出每個(gè)學(xué)生中所有課程中最大的課程,當(dāng)比最大課程還小時(shí),那么這個(gè)學(xué)生的所有課程肯定所有課程肯定都小于60(max(score)<60)
語(yǔ)句:
select s1.sno,s1.sname
from student s1,score s2
where s1.sno = s2.sno group by sno having max(score) < 60;
?
轉(zhuǎn)載于:https://www.cnblogs.com/sinco-20161121/p/6144883.html
總結(jié)
- 上一篇: she&nbsp;surface
- 下一篇: 时代英语报答案六下34期