數(shù)據(jù)庫練習(xí)(參考答案)_第1頁
數(shù)據(jù)庫練習(xí)(參考答案)_第2頁
數(shù)據(jù)庫練習(xí)(參考答案)_第3頁
數(shù)據(jù)庫練習(xí)(參考答案)_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.根據(jù)給出的表結(jié)構(gòu)完成以下題目表1-1 Student表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Sno 學(xué)號字符串,長度為7主碼Sname 姓名字符串,長度為10非空Ssex 性別字符串,長度為2取男或女Sage 年齡整數(shù)取值1545Sdept所在系字符串,長度為20默認為計算機系表3-1 Student表數(shù)據(jù)SnoSnameSsexSageSdept9512101李勇男19計算機系9512102劉晨男20計算機系9512103王敏女20計算機系9521101張立男22信息系9521102吳賓女21信息系9521103張海男20信息系9531101錢小平女18數(shù)學(xué)系9531102王大力男19數(shù)學(xué)系-表1-2C

2、ourse表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Cno課程號字符串,長度為10主碼Cname課程名字符串,長度為20非空Ccredit學(xué)分整數(shù)取值大于0Semster學(xué)期整數(shù)取值大于0Period學(xué)時整數(shù)取值大于0表3-2 Course表數(shù)據(jù)CnoCnameCcreditSemesterC01計算機文化學(xué)31C02VB23C03計算機網(wǎng)絡(luò)47C04數(shù)據(jù)庫基礎(chǔ)66C05高等數(shù)學(xué)82C06數(shù)據(jù)結(jié)構(gòu)54表1-3 SC表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Sno學(xué)號字符串,長度為7主碼,引用Student的外碼Cno課程名字符串,長度為10主碼,引用CourseGrade成績整數(shù)取值0100表 3-3 SC表數(shù)據(jù)SnoCno

3、GradeXKLB9512101c0190必修9512101c0286選修9512101c06必修9512102c0278選修9512102c0466必修9521102c0182選修9521102c0275選修9521102c0492必修9521102c0550必修9521103c0268選修9521103c06必修9531101c0180選修9531101c0595必修9531102c0585必修題1:查詢沒有選修課程“c01”的學(xué)生姓名和所在系。答案:select sname,sdept from student where sno not in (select sno from sc w

4、here cno=C01) select sname,sdept from student,sc where (student.sno=sc.sno) and (sc.sno != “co1”)題2:為SC表添加“選課類別”列,此列的定義為XKLB char(4)。答案:alter table sc add(XKLB varchar2(4);題3:將新添加的XKLB的類型改為char(6)。答案:alter table sc modify(XKLB varchar2 (6);題4:刪除Course表的Period列。答案:alter table course drop column perio

5、d;題5:刪除計算機系不及格學(xué)生的選課記錄。答案:delete from sc where grade60 and sno in (select sno from student where sdept=計算機系); 題6:查詢?nèi)w學(xué)生的學(xué)號與姓名。答案:select sno,sname from student;題7:查詢?nèi)w學(xué)生的姓名,學(xué)號和所在系。答案:select sname,sno,sdept from student;題8:查詢?nèi)w學(xué)生的記錄。答案:select * from student;題9:查詢?nèi)w學(xué)生的姓名及其出生年份。答案:select sname,2014-sage

6、from student;或select sname,(to_char(sysdate,YYYY)-sage) from student;題10:查詢?nèi)w學(xué)生的姓名和出生年份,比在出生年份列前加入一個列,此列的每行數(shù)據(jù)均為“Year of Birth”常量值。答案:select sname,Year of Birth,(to_char(sysdate,YYYY)-sage) from student;題11:在選課表(SC)中查詢有哪些學(xué)生選修了課程,并列出學(xué)生的學(xué)號。答案:select distinct sno from sc;題12:查詢計算機系全體學(xué)生的姓名。答案:select dist

7、inct sname from student where sdept=計算機系;題13:查詢所有年齡在20歲以下的學(xué)生的姓名及年齡。答案:select sname,sage from student where sage20;題14:查詢考試成績不及格的學(xué)生的學(xué)號。答案:select distinct sno from sc where grade=20 and sage=23;題16:查詢年齡不在2023之間的學(xué)生的姓名,所在系和年齡。答案:select sname,sdept,sage from student where sage 23;題17:查詢信息系,數(shù)學(xué)系和計算機系學(xué)生的姓名和

8、性別。答案:select sname,ssex from student where sdept IN (信息系 , 數(shù)學(xué)系 , 計算機系);題18:查詢既不屬于信息系,數(shù)學(xué)系,也不屬于計算機系的學(xué)生的姓名和性別。答案:select sname,ssex from student where sdept not in( 信息系,數(shù)學(xué)系,數(shù)學(xué)系);題19:查詢姓“張”的學(xué)生的詳細信息。答案:select * from student where sname like 張%;題20:查詢學(xué)生表中姓“張”,姓“李”和姓“劉”的學(xué)生的情況。答案:select * from student where

9、sname like 張% or sname like 李% or sname like 劉%;或者select * from student where sname like 張李劉%; /錯誤題21:查詢名字中第2個字為“小”或“大”字的學(xué)生的姓名和學(xué)號。答案:select sname ,sno from student where sname like _小% or sname like _大%;或者select sname ,sno from student where sname like _小大%;題22:查詢所有不姓“劉”的學(xué)生。答案:select * from student

10、where sname not like 劉%;題23:從學(xué)生表中查詢學(xué)號的最后一位不是2,3,5的學(xué)生的情況。答案:select * from student where sno not like %2 and sno not like %3 and sno not like %5;或者select * from student where sno not like %235; /錯誤題24:查詢無考試成績的學(xué)生的學(xué)號和相應(yīng)的課程號。答案:select sno,cno from sc where grade is null;題25:查詢所有有考試成績的學(xué)生的學(xué)號和課程號。答案:select

11、sno,cno from sc where grade is not null;題26:查詢計算機系年齡在20歲以下的學(xué)生的姓名。答案:select sname from student where sdept = 計算機系 and sage 3;題38:查詢選課門數(shù)等于或大于4門的學(xué)生的平均成績和選課門數(shù)。答案:select sno,avg(Grade),count(*) from sc group by sno having count(*)= 4;題39:查詢每個學(xué)生的情況及其選課的情況。答案:select student.sno,sname,ssex,sage,o,cn.grade f

12、rom student , sc where student.sno=sc.sno;題40:去掉例38中的重復(fù)列。答案:select distinct avg(grade),count(sno) 選課門數(shù) from sc group by sno having count(sno)3;題41:查詢計算機系學(xué)生的選課情況,要求列出學(xué)生的名字,所修課的課程號和成績。答案:select student.sname,o,sc.grade from sc left join student on student.sno=sc.sno where sc.sdept=計算機系;題42:查詢信息系選修VB課程

13、的學(xué)生的成績,要求列出學(xué)生姓名,課程名和成績。答案:select student.sname,o,sc.grade from student join sc on student.sno=sc.sno join course on o=o where sc.sdept=信息系 and ame=VB;題43:查詢所有選修了VB課程的學(xué)生的情況,要求列出學(xué)生姓名和所在的系。答案:select student.sname,sc.sdept from student join sc on student.sno=sc.sno join course on o=o where ame=VB;題44:查詢

14、與劉晨在同一個系學(xué)習(xí)的學(xué)生的姓名和所在系。答案:select s2.sname, s2.sdept from student s1 , student s2 where s1.dept = s2.dept and s1.sname = 劉晨 and s2.sname != 劉晨;題45:查詢學(xué)生的選課情況,包括選修課程的學(xué)生和沒有修課的學(xué)生。答案:select * from student left join sc on student.sno=sc.sno;題46:查詢與劉晨在同一個系的學(xué)生。答案:select sno,sname from student st1, student st2

15、where st1.sno = st2.sno and st2.sname=劉晨;題47:查詢成績大于90分的學(xué)生的學(xué)號和姓名。答案:select sno,sname,grade from student,sc where grade in (select grade from sc where grade90)題48:查詢選修了“數(shù)據(jù)庫基礎(chǔ)”課程的學(xué)生的學(xué)號和姓名。答案:select sno,sname from student where sno in (select sno from sc where cno in (select cno from course where cname=數(shù)據(jù)庫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論