版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
超完整、大學(xué)數(shù)據(jù)庫(kù)考試試題包括46道循序漸進(jìn)的試題及答案。假如感覺(jué)本文檔對(duì)您的學(xué)習(xí)工作有協(xié)助,請(qǐng)用積分下載來(lái)支持我們。createtablestudent(
snovarchar2(10)primarykey,
snamevarchar2(20),
sagenumber(2),
ssexvarchar2(5)
);
createtableteacher(
tnovarchar2(10)primarykey,
tnamevarchar2(20)
);
createtablecourse(
cnovarchar2(10),
cnamevarchar2(20),
tnovarchar2(20),
constraintpk_courseprimarykey(cno,tno)
);
createtablesc(
snovarchar2(10),
cnovarchar2(10),
scorenumber(4,2),
constraintpk_scprimarykey(sno,cno)
);
/*******初始化學(xué)生表的數(shù)據(jù)******/
insertintostudentvalues('s001','張三',23,'男');
insertintostudentvalues('s002','李四',23,'男');
insertintostudentvalues('s003','吳鵬',25,'男');
insertintostudentvalues('s004','琴沁',20,'女');
insertintostudentvalues('s005','王麗',20,'女');
insertintostudentvalues('s006','李波',21,'男');
insertintostudentvalues('s007','劉玉',21,'男');
insertintostudentvalues('s008','蕭蓉',21,'女');
insertintostudentvalues('s009','陳蕭曉',23,'女');
insertintostudentvalues('s010','陳美',22,'女');
commit;
/******************初始化教師表***********************/
insertintoteachervalues('t001','劉陽(yáng)');
insertintoteachervalues('t002','諶燕');
insertintoteachervalues('t003','胡明星');
commit;
/***************初始化課程表****************************/
insertintocoursevalues('c001','J2SE','t002');
insertintocoursevalues('c002','Java
Web','t002');
insertintocoursevalues('c003','SSH','t001');
insertintocoursevalues('c004','Oracle','t001');
insertintocoursevalues('c005','SQLSERVER','t003');
insertintocoursevalues('c006','C#','t003');
insertintocoursevalues('c007','JavaScript','t002');
insertintocoursevalues('c008','DIV+CSS','t001');
insertintocoursevalues('c009','PHP','t003');
insertintocoursevalues('c010','EJB3.0','t002');
commit;
/***************初始化成績(jī)表***********************/
insertintoscvalues('s001','c001',78.9);
insertintoscvalues('s002','c001',80.9);
insertintoscvalues('s003','c001',81.9);
insertintoscvalues('s004','c001',60.9);
insertintoscvalues('s001','c002',82.9);
insertintoscvalues('s002','c002',72.9);
insertintoscvalues('s003','c002',81.9);
insertintoscvalues('s001','c003','59');
commit;
練習(xí):
注意:如下練習(xí)中的數(shù)據(jù)是根據(jù)初始化到數(shù)據(jù)庫(kù)中的數(shù)據(jù)來(lái)寫的SQL語(yǔ)句,請(qǐng)大家務(wù)必注意。
1、查詢“c001”課程比“c002”課程成績(jī)高的所有學(xué)生的學(xué)號(hào);
2、查詢平均成績(jī)不小于60分的同學(xué)的學(xué)號(hào)和平均成績(jī);
3、查詢所有同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績(jī);
4、查詢姓“劉”的老師的個(gè)數(shù);
5、查詢沒(méi)學(xué)過(guò)“諶燕”老師課的同學(xué)的學(xué)號(hào)、姓名;
6、查詢學(xué)過(guò)“c001”并且也學(xué)過(guò)編號(hào)“c002”課程的同學(xué)的學(xué)號(hào)、姓名;
7、查詢學(xué)過(guò)“諶燕”老師所教的所有課的同學(xué)的學(xué)號(hào)、姓名;
8、查詢課程編號(hào)“c002”的成績(jī)比課程編號(hào)“c001”課程低的所有同學(xué)的學(xué)號(hào)、姓名;
9、查詢所有課程成績(jī)不不小于60分的同學(xué)的學(xué)號(hào)、姓名;
10、查詢沒(méi)有學(xué)全所有課的同學(xué)的學(xué)號(hào)、姓名;
11、查詢至少有一門課與學(xué)號(hào)為“s001”的同學(xué)所學(xué)相似的同學(xué)的學(xué)號(hào)和姓名;
12、查詢至少學(xué)過(guò)學(xué)號(hào)為“s001”同學(xué)所有一門課的其他同學(xué)學(xué)號(hào)和姓名;
13、把“SC”表中“諶燕”老師教的課的成績(jī)都更改為此課程的平均成績(jī);
14、查詢和“s001”號(hào)的同學(xué)學(xué)習(xí)的課程完全相似的其他同學(xué)學(xué)號(hào)和姓名;
15、刪除學(xué)習(xí)“諶燕”老師課的SC表記錄;
16、向SC表中插入某些記錄,這些記錄規(guī)定符合如下條件:沒(méi)有上過(guò)編號(hào)“c002”課程的同學(xué)學(xué)號(hào)、“c002”號(hào)課的平均成績(jī);
17、查詢各科成績(jī)最高和最低的分:以如下形式顯示:課程ID,最高分,最低分
18、按各科平均成績(jī)從低到高和及格率的百分?jǐn)?shù)從高到低次序
19、查詢不一樣老師所教不一樣課程平均分從高到低顯示
20、記錄列印各科成績(jī),各分?jǐn)?shù)段人數(shù):課程ID,課程名稱,[100-85],[85-70],[70-60],[<60]
21、查詢各科成績(jī)前三名的記錄:(不考慮成績(jī)并列狀況)
22、查詢每門課程被選修的學(xué)生數(shù)
23、查詢出只選修了一門課程的所有學(xué)生的學(xué)號(hào)和姓名
24、查詢男生、女生人數(shù)
25、查詢姓“張”的學(xué)生名單
26、查詢同名同性學(xué)生名單,并記錄同名人數(shù)
27、1981年出生的學(xué)生名單(注:Student表中Sage列的類型是number)
28、查詢每門課程的平均成績(jī),成果按平均成績(jī)升序排列,平均成績(jī)相似時(shí),按課程號(hào)降序排列
29、查詢平均成績(jī)不小于85的所有學(xué)生的學(xué)號(hào)、姓名和平均成績(jī)
30、查詢課程名稱為“數(shù)據(jù)庫(kù)”,且分?jǐn)?shù)低于60的學(xué)生姓名和分?jǐn)?shù)
31、查詢所有學(xué)生的選課狀況;
32、查詢?nèi)魏我婚T課程成績(jī)?cè)?0分以上的姓名、課程名稱和分?jǐn)?shù);
33、查詢不及格的課程,并按課程號(hào)從大到小排列
34、查詢課程編號(hào)為c001且課程成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)和姓名;
35、求選了課程的學(xué)生人數(shù)
36、查詢選修“諶燕”老師所講課程的學(xué)生中,成績(jī)最高的學(xué)生姓名及其成績(jī)
37、查詢各個(gè)課程及對(duì)應(yīng)的選修人數(shù)
38、查詢不一樣課程成績(jī)相似的學(xué)生的學(xué)號(hào)、課程號(hào)、學(xué)生成績(jī)
39、查詢每門功課成績(jī)最佳的前兩名
40、記錄每門課程的學(xué)生選修人數(shù)(超過(guò)10人的課程才記錄)。規(guī)定輸出課程號(hào)和選修人數(shù),查詢成果按人數(shù)降序排列,若人數(shù)相似,按課程號(hào)升序排列
41、檢索至少選修兩門課程的學(xué)生學(xué)號(hào)
42、查詢所有學(xué)生都選修的課程的課程號(hào)和課程名
43、查詢沒(méi)學(xué)過(guò)“諶燕”老師講授的任一門課程的學(xué)生姓名
44、查詢兩門以上不及格課程的同學(xué)的學(xué)號(hào)及其平均成績(jī)
45、檢索“c004”課程分?jǐn)?shù)不不小于60,按分?jǐn)?shù)降序排列的同學(xué)學(xué)號(hào)
46、刪除“s002”同學(xué)的“c001”課程的成績(jī)
答案:
1.
*********************************
selecta.*from
(select*fromscawhereo='c001')a,
(select*fromscbwhereo='c002')b
wherea.sno=b.snoanda.score>b.score;
*********************************
select*fromsca
whereo='c001'
and
exists(select*fromscbwhereo='c002'anda.score>b.score
anda.sno=b.sno)
*********************************
2.
*********************************
selectsno,avg(score)fromsc
groupbysnohavingavg(score)>60;
*********************************
3.
*********************************
selecta.*,s.snamefrom(selectsno,sum(score),count(cno)fromscgroupbysno)a,studentswherea.sno=s.sno
*********************************
4.
*********************************
selectcount(*)fromteacherwheretnamelike'劉%';
*********************************
5.
*********************************
selecta.sno,a.snamefromstudenta
wherea.sno
notin
(selectdistincts.sno
fromscs,
(selectc.*
fromcoursec,
(selecttno
fromteachert
wheretname='諶燕')t
wherec.tno=t.tno)b
whereo=o)
*********************************
select*fromstudentstwherest.snonotin
(selectdistinctsnofromscsjoincoursecono=o
jointeachertonc.tno=t.tnowheretname='諶燕')
*********************************
6.
*********************************
selectst.*fromsca
joinscbona.sno=b.sno
joinstudentst
onst.sno=a.sno
whereo='c001'ando='c002'andst.sno=a.sno;
*********************************
7.
*********************************
selectst.*fromstudentstjoinscsonst.sno=s.sno
joincoursecono=o
jointeachertonc.tno=t.tno
wheret.tname='諶燕'
*********************************
8.
*********************************
select*fromstudentst
joinscaonst.sno=a.sno
joinscbonst.sno=b.sno
whereo='c002'ando='c001'anda.score<b.score
*********************************
9.
*********************************
selectst.*,s.scorefromstudentst
joinscsonst.sno=s.sno
joincoursecono=o
wheres.score<60
*********************************
10.
*********************************
selectstu.sno,stu.sname,count(o)fromstudentstu
leftjoinsconstu.sno=sc.sno
groupbystu.sno,stu.sname
havingcount(o)<(selectcount(distinctcno)fromcourse)
===================================
select*fromstudentwheresnoin
(selectsnofrom
(selectstu.sno,ofromstudentstu
crossjoincoursec
minus
selectsno,cnofromsc)
)
===================================
*********************************
11.
*********************************
selectst.*fromstudentst,
(selectdistincta.snofrom
(select*fromsc)a,
(select*fromscwheresc.sno='s001')b
whereo=o)h
wherest.sno=h.snoandst.sno<>'s001'
*********************************
12.
*********************************
select*fromsc
leftjoinstudentst
onst.sno=sc.sno
wheresc.sno<>'s001'
andoin
(selectcnofromsc
wheresno='s001')
*********************************
13.
*********************************
updatesccsetscore=(selectavg(c.score)
fromcoursea,teacherb
wherea.tno=b.tno
andb.tname='諶燕'
ando=o
groupbyo)
wherecnoin(
selectcnofromcoursea,teacherb
wherea.tno=b.tno
andb.tname='諶燕')
*********************************
14.
*********************************
select*fromscwheresno<>'s001'
minus
(
select*fromsc
minus
select*fromscwheresno='s001'
)
*********************************
15.
*********************************
deletefromsc
whereoin
(
selectcnofromcoursec
leftjointeacherton
c.tno=t.tno
wheret.tname='諶燕'
)
*********************************
16.
*********************************
insertintosc(sno,cno,score)
selectdistinctst.sno,o,(selectavg(score)fromscwherecno='c002')
fromstudentst,sc
wherenotexists
(select*fromscwherecno='c002'andsc.sno=st.sno)ando='c002';
*********************************
17.
*********************************
selectcno,max(score),min(score)fromscgroupbycno;
*********************************
18.
*********************************
selectcno,avg(score),sum(casewhenscore>=60then1else0end)/count(*)
as及格率
fromscgroupbycno
orderbyavg(score),及格率desc
*********************************
19.
*********************************
selectmax(t.tno),max(t.tname),max(o),max(ame),o,avg(score)fromsc,coursec,teachert
whereo=oandc.tno=t.tno
groupbyo
orderbyavg(score)desc
*********************************
20.
*********************************
selecto,ame,
sum(case
whenscorebetween85and100then1else0end)AS"[100-85]",
sum(case
whenscorebetween70and85then1else0end)AS"[85-70]",
sum(case
whenscorebetween60and70then1else0end)AS"[70-60]",
sum(case
whenscore<60then1else0end)AS"[<60]"
fromsc,coursec
where
o=o
groupbyo,ame;
*********************************
21.
*********************************
select*from
(selectsno,cno,score,row_number()over(partitionbycnoorderbyscoredesc)rnfromsc)
wherern<4
*********************************
22.
*********************************
selectcno,count(sno)fromscgroupbycno;
*********************************
23.
*********************************
selectsc.sno,st.sname,count(cno)fromstudentst
leftjoinsc
onsc.sno=st.sno
groupbyst.sname,sc.snohavingcount(cno)=1;
*********************************
24.
*********************************
selectssex,count(*)fromstudentgroupbyssex;
*********************************
25.
*********************************
select*fromstudentwheresnamelike'張%';
*********************************
26.
*********************************
selectsname,count(*)fromstudentgroupbysnamehavingcount(*)>1;
*********************************
27.
*********************************
selectsno,sname,sage,ssexfromstudenttwhereto_char(sysdate,'yyyy')-sage=1988
*********************************
28.
*********************************
selectcno,avg(score)fromscgroupbycnoorderbyavg(score)asc,cnodesc;
*********************************
29.
*********************************
selectst.sno,st.sname,avg(score)fromstudentst
leftjoinsc
onsc.sno=st.sno
groupbyst.sno,st.snamehavingavg(score)>85;
*********************************
30.
*********************************
selectsname,scorefromstudentst,sc,coursec
wherest.sno=sc.snoando=oandame='Oracle'andsc.score<60
*********************************
31.
*********************************
selectst.sno,st.sname,amefromstudentst,sc,coursec
wheresc.sno=st.snoando=o;
*********************************
32.
*********************************
selectst.sname,ame,sc.scorefromstudentst,sc,coursec
wheresc.sno=st.snoando=oandsc.score>70
*********************************
33.
*********************************
selectsc.sno,ame,sc.scorefromsc,coursec
whereo=oandsc.score<60orderbyodesc;
*********************************
34.
*********************************
selectst.sno,st.sname,sc.scorefromsc,studentst
wheresc.sno=st.snoandcno='c001'andscore>80;
*********************************
35.
*********************************
selectcount(distinctsno)fromsc;
*********************************
36.
*********************************
selectst.sname,scorefromstudentst,sc,coursec,teachert
where
st.sno=sc.snoando=oandc.tno=t.tno
andt.tname='諶燕'andsc.score=
(selectmax(score)fromscwhereo=o)
*********************************
37.
*********************************
selectcno,count(sno)fromscgroupbycno;
*********************************
38.
*********************************
selecta.*fromsca,scbwherea.score=b.scoreando<>o
*********************************
39.
*********************************
select*from(
selectsno,cno,score,row_number()over(partitionbycnoorderbyscoredesc)my_rnfrom
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家紡導(dǎo)購(gòu)專業(yè)知識(shí)培訓(xùn)課件
- 酒店物業(yè)管理服務(wù)合同三篇
- 社團(tuán)活動(dòng)對(duì)學(xué)生發(fā)展的影響計(jì)劃
- 秋季學(xué)期學(xué)生學(xué)習(xí)成果展示計(jì)劃
- 促肝細(xì)胞生長(zhǎng)素相關(guān)項(xiàng)目投資計(jì)劃書(shū)
- 前臺(tái)文員的個(gè)人發(fā)展規(guī)劃計(jì)劃
- 銷售心理學(xué)與客戶洞察培訓(xùn)
- 張緊裝置相關(guān)項(xiàng)目投資計(jì)劃書(shū)范本
- 輸尿管癌的護(hù)理查房
- 腦卒中并發(fā)吞咽障礙個(gè)案護(hù)理
- GB 16715.4-2010瓜菜作物種子第4部分:甘藍(lán)類
- GA/T 1105-2013信息安全技術(shù)終端接入控制產(chǎn)品安全技術(shù)要求
- 成年依戀量表
- 中石化至烏茲別克斯坦車用潤(rùn)滑油項(xiàng)目分析
- KTV管理培訓(xùn)課件(共48張)
- 全科醫(yī)學(xué)的臨床思維【-】課件
- 病媒生物防制培訓(xùn)課件
- 邀請(qǐng)函單頁(yè)模板
- 2023年基建處工作計(jì)劃(7篇)
- 婚姻財(cái)富管理及家庭財(cái)富傳承課件
- 三級(jí)安全教育試題公司級(jí)部門級(jí)班組級(jí)
評(píng)論
0/150
提交評(píng)論