關系數據庫標準語言sql練習題_第1頁
關系數據庫標準語言sql練習題_第2頁
關系數據庫標準語言sql練習題_第3頁
關系數據庫標準語言sql練習題_第4頁
關系數據庫標準語言sql練習題_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3章關系數據庫標準語言SQL一.單項選擇題1 . SQL語言是 的語言,易學習。A.過程化B非過程化C .格式化 D 導航式B2 . SQL語言是 語言。A.層次數據庫B .網絡數據庫C .關系數據庫D 非數據庫3 . SQL語言具有 的功能。A.關系規范化、數據操縱、數據控制B.數據定義、數據操縱、數據控制C.數據定義、關系規范化、數據控制C.數據定義、關系規范化、數據操縱4 . SQL語言的數據操縱語句包括 SELECT INSERT UPDATE DELET萼。其中最重要的,也是使用最頻繁的語句是A. SELECT B . INSERT C . UPDATE D . DELETE5 .

2、在關系代數運算中,五種基本運算為。A.并、差、選擇、投影、自然連接 B.并、差、交、選擇、投影C.并、差、選擇、投影、乘積 D .并、差、交、選擇、乘積6 . SQL語言中,實現數據檢索的語句是。A. SELECTB . INSERT C . UPDATE D . DELETE7 .下列SQL語句中,修改表結構的是。A. ALTERB . CREATE C . UPDATE D . INSERT第8到第11題基于這樣的三個表,即學生表 S、課程表C和學生選課表SC,他們的結構如下:S (S#, SN, SEX AGE DEPT; C (C#, CN); SC (S#, C#, GRADE其中:

3、S的學號,SN為姓名,SEX為性別,AGEJ年齡,DEPT為系別,。制課程CN為課程名,GPAD的成績。8 .檢索所有比“王華”年齡大的學生姓名、年齡和性別。正確的SELEC福句是 A。A. SELECT SN AGE SEXFROM S WHERE AGE>( SELECT AGE FROM S WHERE SN="王華”)B. SELECT SN AGE SEXFROM S WHERE SN="王華”C. SELECT SN AGE SEXFROM S WHERE AGE>( SELECT AGE WHERE SN=王華”)D. SELECT SN AGE

4、SEXFROM S WHERE AGE王華.AGE9 .檢索選修課程“ C2'的學生中成績最高的學生的學號。正確的SELEC借句是一D_。A. SELECT S# FORM SCWHERE C# ='C2' AND GRADE>=(SELECT GRADE FORM SC WHERE C®=')B SELECT S# FORM SCWHERE C# ='C2' AND GRADE IN (SELECT GRADE FORM SC WHERE C #C2")C SELECT S# FORM SCWHERE C# ='

5、;C2' AND GRADE NOT IN SELECT GRADE FORM SC WHEREC#= "C2')D. SELECT S# FORM SCWHERE C# ='C2' AND GRADE>=ALLSELECT GRADE FORM SC WHEREC#= "C2')10.檢索學生姓名及其所選修課程號和成績。正確的SELEC福句是 C_。SELECT S. SN SC C#, SC. GRADEFROM S WHERE S S#=SC S#B. SELECT S. SN SC. C# SC. GRADEFROM S

6、 WHERE S S#=SC GRADEC. SELECT S. SN SC. C#, SC. GRADEFROM S SC WHERE S S#=SC S#D. SELECT S. SN SC. C#, SC. GRADEFROM S SC11 .檢索選修四門以上課程的學生總成績(不統計不及格的課程),并要求按總成績的降序排列出來。正確的SELEC稠句是_ B_A. SELECT S#, SUM (GRADEFROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESCHAVING COUNT(*)>=4SELECT S#, SUM (GR

7、ADEFROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT) >=4ORDER BY 2 DESCSELECT S#, SUM (GRADEFROM SC WHERE GRADE>=60 HAVING COUN*T >=4 GROUP BY S#ORDER BY 2 DESCSELECT S#, SUM (GRADEFROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#HAVING COUNT* ) >=412 .假定學生關系是 S (S#, SNAMESEX AGE

8、,課程關系是 C ( C#, CNAM E TEACHER 學生選修課關系是 SC (S#, C#, GRAD后要查找選修“ COMPUTE襦程的“女”學生姓名,將涉及到關系_D。A. SB . SC C C . S, SC D . S, C, SC13 .如下面的數據庫的表中,若職工表的主關鍵字是職工號,部門表的主關鍵字是部門號,SQL操作 不能執行。職工表部門表A.從耳B.將彳C.將耳D.將耳B14.若職硬, 1工號為001 國為'031025 ,后職工。4'工資改為71老門號改為03-J 0 03 , 7都閭入到F 00,曷3,20回!中資部門號部門名主任書001勺SQI

9、.t李鯨一個StUdent 表:58001人事高CREATE TABLE student (NO C (4) NOT NULLNAME C (8) NOT NULL,SEX C (2),AGE N (2);可以插入到I student 表中的是。A. ( '103T ,'曾華',男,23) B . ('103T,曾華',NULL NULL,)C. (NULL,曾華',男,23) D . ( '1031, NULL 男,23)B二、填空題1 . SQL是。結構化查詢語言2 . SQL語言的數據定義功能包括、和。定義數據庫定義基本表定義視圖定

10、義索引3 .視圖是一個虛表,它是從 中導出的表。在數據庫中,只存放視圖的,不存視圖的一個或幾個基本表定義視圖對應的數據4 .設有如下關系表 R S和T:R (BH, XM, XB, DWHS (DWH DWT (BH XM XB, DWH實現RUT的語句是實現RUT的語句是實現RUT的語句是實現RUT的語句是實現RUT的語句是實現RUT的語句是SELECT * FROM R UNION SELECT * FROM TSELECT * FROM R WHERE DWH= '100'SELECT XM XB FROM RSELECT X, DWH FROM R WHERE XB=&

11、#39;女"SELECT R. BH R. XM, R XB, R. DWH S. DWH S. DWMFROM R S WHERE R. DWH=SDWHSELECT R. XM R. XB, S. DWMFROM R S WHERE R. DWH=SDWH AND R XB= "男”5 .設有如下關系表R:R (NO NAME SEX AGE CLASS主關鍵字的NO其中NO學號,NAM附姓名,SEX性別,AGE為年齡,CLASSI班號。寫出實現下列的 SQL®句。插入一個記錄(25, “李明”“男”,21, “95031”);插入“ 95031”班號為30、

12、姓名為“鄭和”的學生記錄;將學號為10的學生姓名改為“王華”;將所有“ 95101班號改為“ 95091”;刪除學號為2 0的學生記錄;刪除姓“王”的學生記錄;INSERT INTO R VALUES (25, “李明”,“男”,21, “95031”)INSERT INTO R (NO NAME CLASS VALUES(30, “鄭和”,“95031”)UPDATE R SET NAME= "王華" WHERE NO=10UPDATE R SET CLASS= "95091" WHERE CLASS ="95101”DELETE FROM

13、R WHERE NO=20DELETE FROM R WHERE NAME LIKE "王%習題36 .敘述SQL語言支持的三級邏輯結構。答:SQL語言支持的三級邏輯結構如圖 1所示.在概念層,對應概念模式的概念記錄型的基本表。基本表是這樣的一種表,它本身實際存在,在Visual Foxpro中每個表在存儲中可用一具存儲文件來表示(在ORACLE,多個表存儲在一個文件夾中。一個基本表就是一個關系,它不是由其人表導出的表。基本表是使用CDEATE TABL踣句建立的。在外層,用戶所看到的可以是基本表,也可以是視圖。視圖是一個虛擬表,它是由一個或幾個基本表導出的表,它不直接存在于物理存儲

14、器上的表。視圖是使用CDEATE VIEWg句建立的。在內層,基本表(或庫)用一個存儲文件來表示,即用一組類型相同的存儲記錄值來表示。DBA可以對物理存儲文件進行操作。7 .敘述使用SQL語言實現各種關系運算的方法。答:由Visual Foxpro 支持的SQL語言沒有提供關系的笛卡爾積、交和差運算。其全關系運算對應的SQL語句格式是:RU S: SELECTS句(生成 R)UNIONSELECT 語句(生成S)選擇:SELECT * FROM表 WHERE 旨定選擇的條件投影:SELECT轂影字段列表 FROM表選擇:SELECT連接的字段列表 FROM 1接的兩個表名 WHERE接條件8

15、.設有如圖所示的三個關系, 并假定這三個關系框架組成的數據模型就是用戶子模式。其中各個屬性白含義如下:A# (商店代號)、ANAME商店名)、WQTH!員人數)、CITY(所在城市)、B# (商品號)、BNAME商品名稱)、PRICE (價格)、QTY(商品數量)。試用SQL語言寫出下列查詢,并給出執行結果。A#B#QTY10111051012421013251014104204361256124125629134511413452183454746204125A#ANAMEWQPRICECTY101韶箱商店1521卡沙204前用球貨商店89784步京256聯森商場501 1325步京345鐳

16、道商店76242卡沙620第一百貨商店413上海B找出店員人長沙市的所有商店的代SELECT A#,FROM A WHERE沙”;找出供應書數不超過100人或者在ANAMEWQTY<=10ORCITY= "長AU (著者),PUB(出版社)包的商店名。號和商店名。按下列要求用SQL語言進行設計。AABSELECT A. ANAME FROM A B, ABWHERE A A#=AB A# AND B. B#=AB B# AND B. BNAME='書包”;找出至少供應了代號為“ 256”的商店所供應的全部商品的商店名和所在城市。SELECT ANAMIE CITY FR

17、OM A WHERE NOT EXSIST(SELECT * FORM AB F WHERE A#= "256" AND NOT EXSIST(SELECT * FROM AB S WHERE A#=A . A# AND B#=F. B#);9 .設有圖書登記表TS,具有屬性:BNO(圖書編號),BC (圖書類別),BNA(書名),查詢按出版社統計其出版圖書總數。SELECT PUB COUNT BNOFROM TS GROUP BY PUBRST將R、S和T三對視圖R-S-T解: CREATE VIEWAS SELECT R.A,ABC個關按屬R-S-TADES. D,D

18、二a1b120a1d115d2a1b222a2d218d3a2b118a1d224E, Fa2b3a2B, C,卜ROM R S, 1 SELECT AVG (C) ,AVG (日 FROM R-S-T6.有關系R和S如圖所示。WHERE R A=S A AND S. D=T D;GROUP BY A ;5.已知三個關系 R S和T如圖所示。試用SQL語句實現如下操作:系按關聯屬性建立一個視圖R-S-To性A分組后,求屬性C和E的平均值RS試用SQL語句實Azz現:查詢屬性C>50a1b1時,RJ40中與相關聯的屬性B之值。當屬性C=40a2B2時,J!_50將R中與之相關連的屬性B值修

19、改為b4。解:EDb3a355 SELECT B FROMR, S WHERE R. A=S A AND C>50; UPDATE RSET B= "b4" WHERE A IN (SELECT AFROM S WHERE C=407.已知R和S兩個關系如圖所示RS執行如下SQL語ABC句:CDE CREATE VIEWa1b1c1H (A,c1d1e1B, C, D, E)AS SELECT A, B,a2b2c2R. C,c2d2e2D, E FROM R, S WHERE R C=S C; SELECT B , D,a3b3c2Ec3d3e3FROM H WHE

20、RE C= "C2"試給出:視圖H對視圖H的查詢結果。解:本題的結果如圖所示,視圖H對視圖H的查詢結果8 .已知關系R如圖 R試用SQL語句實現按屬性A分組, 們置于視圖RAE中。在視圖RAE中解 CREATE VIEWAS SELECT A , SELECT *9.已知學生表SS (SNO SN SD,ABCDEBDE所不。下列操作:求出每組中在屬性C上的最大值和最小值,且將它a1b1c1d1e1b2d2e2A2bBcCd2e2b3d2e2a3b31c84d2e2a297b292a397b398食了叩禹住A=8 忙求。RAE (A CMAXCMINMAX(Q, MIN (

21、C) FROM R GROUP BY A;FROM RAE WHERE A="98”和學生選課表SC其關系模式如下:PROV98b17298b28498b39599b18899b294SC(SNQ CN GR其中:SNO;學號,SN為姓名,SD為系名,PROV;省區,CN為課程名,GR為分數。試用SQL®言實現下列操作: 查詢“信息系”的學生來自哪些省區按分數降序排序,輸出“英語系”學生選修了 “計算機”課程的學生的姓名和分數。解: SELECT DISTINCT PROV FROM S WHERE SD= "信息系” SELECT SN, GR FROM S,

22、SCWHERE SD = "英語系" AND CN="計算機” AND S SNO=SC SNOORDWR BY GR DESC10.設有學生表S (SNO SN (SNOJ學生號,SN為姓名)和學生選修課程表 SC (SNO CNO CN G) (CNO課程號,CN為課程名,G為成績),試用 SQL語言完成以下各題:建立一個視圖V-SSC(SNQ SN, CNO CN, G),并按CN學序排序。從視圖V-SSC上查詢平士成績在90分以上的SN CN和G解: CREATE VIEW V-SSC (SNQ SN, CNO CN G)AS SELECT S . SNO

23、 S. SN, CNO SC CN, SC GFROM S SC WHERE S SNO=SC SNO ORDWR BY CNO SELECT SN, CN GFROM V-SSC GROGP BY SNO HAVING AVG(G) >9011.設有關系模式:SB (SN, SNAME CITY)其中:SB表示供應商,SN為供應商代號,SNAME;供應商名字,CITY為供應商所在城市,主關鍵字為 SMPB ( PN, PNAME COLOR WEIGHT其中:P表示零件,PN為零件代號,PNAM的零件名字,COLO的零件顏色,WEIGH偽零件重量,主關鍵字為 PNJB (JN, JNA

24、ME CITY)其中:JB表示工程,JN為工程編號,JNAM叨工程名字,CITY為工程式所在城市,主關鍵字為 JN。SPJB (SN PN JN, QTY其中:SPJ表示供應關系,SN是為指定工程提供零件的供應商代號,PN為所提供的零件代號,JN為工程編號,QT償示提供的零件數量,主關鍵字為SN, PN JN,外關鍵字為 SN, PN, JNo如圖所示表示供應商(S)零件(P)工程(J)數據庫表,寫出實現以下各題功能的SQL語句:(1)取出所有工程的全部細節:SELECT * FROM JB TO SCREENJN JNAME CITY上海J1 JN1J2JN2廣州J3JN3南京J4JN4南京

25、J5JN5上海J6JN6武漢J7JN7上海(2)取出所在城市為上海的所有工程的全部細節;SELECT * FROM JB WHERE CETY= "上海” TO SCREENJN JNAME CITYJ1 JN1J5 JN5J7 JN7(3)取出重量最輕的零件代號;SELECT PN FROM PBWHERH WEIGHT=(SELECT MIN (WEIGHT FROM PB) TO SCREENPNP5(4)取出為工程式J 1提供零件的供應商代號;SELECT SN FROM SPJB WHERE JN= "J1 " TO SCREENSNS1S2S3(5)取

26、出為工程JI提供Pl的供應商代號;SELECT SN FROM SPJBWHERE JN="J1" AND PN= "P1" TO SCREENSNS1(6)取出由供應商SI提供零件的工程名稱;SELECT JB JNAME FROM JB SPJBWHERE JB JN=SPJB JN AND SPJB . SN= "S1" TO SCREENJNAMEJN1JN4(7)取出供應商S1提供的零件的顏色;SELECT DISTINCT PB . COLOR FROM PBSPJBWHERE PB PN=SPJB PN AND SPJB

27、. SN= "1" TO SCREENCOLOR(8)取出為工程J 1或J 2提供零件的供應商代號;SELECT DISTINCT SN FROM SPJBWHERE JN="J1" OR JN= "J2" TO SCREENSNS1S2S3S5(9)取出為工程J 1提供紅色零件的供應商代號;SELECT DISTINCT SPJB. SN FROM SPJB, PBWHERE PBPN=SPJB PN AND SPJB JN= "J1" AND PB COLOR=紅” TO SCREENSNS1(10)取出為所在

28、城市為上海的工程提供零件的供應商代號;SELECT DISTINCT SPJB. SN FROM SPJB, JBWHERE SPJB JN=JB JN AND JB. CITY= "上海” TO SCREENSNS1S2S3S4S5(11)取出為所在城市為上海或北京的工程提供紅色零件的供應商代號;SELECT SPJB SN FROM PB, JB, SPJBWHERE SPJB PN=PB PN AND JB JN=SPJB JN AND PB. COLOR ='紅'AND(JB. CITY= "上海” OR JB. CITY= "北京” TO

29、 SCREENSNS1S4(12)取出供應商與工程所在城市相同的供應商提供的零件代號;SELECT DISTINCT SPJB. PN FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN AND SB. CITY=JB. CITY TOSCREENPNP1P3P4P5P6(13)取出上海的供應商提供給上海的任一工程的零件的代號;SELECT SPJB PN FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN AND SB, CITY= "上海” ANDJB. CITY=

30、 "上海” TO SCREEN;PNP1P6(14)取出至少由一個和工程式不在同一城市的供應商提供零件的工程代號;SELECT DISTINCT SPJB. JN FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN AND SB. CITY<>JB. CITY TO SCREEN;JNJ1J2J3J4J5J6J7(15)取出上海供應商不提供任何零件的工程的代號SELECT DISTINCT JN FROM SPJBWHERE JN NOT IN(SELECT DISTINCT SPJB. JN FROM SB, S

31、PJBWHERE SB SN=SPJB SN AND SB CITY= "上海”)TO SCREENJNJ2J5J6(16)取出這樣一些供應商代號,它們能夠提供至少一種由紅色零件的供應商提供的零件;SELECT DISTINCT SPJB. SN FROM PB, SPJBWHERE SPJB PN IN(SELECT SPJB PN FROM SPJB, SB PBWHERE SB SN=SPJB SN AND PB PN=SPJB PN AND PB COLOR ='紅" TOSCREENSNS1S3S4S5(17)取出由供應商S1提供零件的工程的代號:SELE

32、CT DISTINCT SPJB. JN FROM SB, PR SPJBWHIERE SB SN=SPJB SN AND PB PN=SPJB PN AND SB SN= "S1" TO SCREENJNJ1J4(18)取出所有這樣的一些CITY, CITY二元組,使得第1個城市的供應商為第2個城市的工程提供零件;SELECT DISTINCT SB. CITY, JB. CITY FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN TO SCREENCITY_A CITY_B北京廣州北京南京北京上海北京武漢南京廣

33、州南京南京南京上海上海南京上海上海(19)取出所有這樣的三元組CITY, PN CITY,使彳導第1個城市的供應商為第2個城市的工程提供指定的零件;SELECT DISTINCT SB. CITY, SPJB. PN, JB. CITY FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN TO SCREENCITY_APN CITY_B北京P3廣州北京P3南京北京P3上海北京P3武漢北京P4廣州北京P5廣州南京P1南京南京P2廣州南京P2南京南京P3南京南京P4南京南京P5南京南京P5上海南京P6廣州南京P6南京上海P1南京上海P1上海

34、上海P6南京上海P6上海(20)重復(19)題,但不檢索兩個 CITY值相同的三元組。SELECT DISTINCT SB. CITY, SPJB. PN, JB. CITY FROM SB, JB, SPJBWHERE SB SN=SPJB SN AND JB JN=SPJB JN AND SB. CITY<>JB. CITY TOSCREENCITY_A PN CITY_B北京P3廣州北京P3南京北京P3上海北京P3武漢北京P4廣州北京P5廣州南京P2廣州南京P5上海南京P6廣州上海P1南京上海P6南京12.有樣本表student、teacher、course和score (如

35、圖),寫出實現以下各題功能的 SQL語句,并給出執行結果scoreNO CNO DEGREEStudent108曾華男09/01/77950331033-24586105匡明男10/02/75950311053-24575107王麗女01/23/76950331093-24568101李軍男02/20/76950331033-10592109王芳女02/10/75950311053-10588103陸軍男06/03/74950311093-105761013-105641013-105911013-105781016-166851016-166791016-16681teachercourse

36、NO NAME SEX BIRTHDAY CLASSNONAMESEX BRITHDAY PROFDEPARTCNOCNAMETNO804李誠男12/02/58副教授計算機3-103計算機導論825856張旭男03/12/69講師電子3-245操作系統825825王萍女05/05/72助教計算機6-166數字電路825831劉冰女08/14/77助教電子9-888高等數學825上列出至少有2名男生的班號。SELECT class FROM student WHERE sex= "男"CLASS9503195033屏幕顯示student表中不姓"王"的同學記錄。SELECT * FROM studen WHERE name not like "王% TO SCREENNO NAME SEX BIRTHDAY CLASS108曾華男09/01/7695033105匡明男10/02/7595031101李軍男02/20/7695033103陸君男06/03/7495031屏幕顯示student表示每個學生的姓名和年齡。SELECT name as "姓名",year (date () -year (birthday ) as "年齡"FROM student TO S

溫馨提示

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

評論

0/150

提交評論