數(shù)據(jù)庫(kù)系統(tǒng)概論SQL語(yǔ)言復(fù)習(xí)題含答案_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論SQL語(yǔ)言復(fù)習(xí)題含答案_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論SQL語(yǔ)言復(fù)習(xí)題含答案_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論SQL語(yǔ)言復(fù)習(xí)題含答案_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論SQL語(yǔ)言復(fù)習(xí)題含答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、SQL語(yǔ)百習(xí)題一、單項(xiàng)選擇題1. SQL語(yǔ)言是 的語(yǔ)言,易學(xué)習(xí)。A.過(guò)程化 B.非過(guò)程化C.格式化 D.導(dǎo)航式答案:B2. SQL語(yǔ)言是A.層次數(shù)據(jù)庫(kù)B.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)C.關(guān)系數(shù)據(jù)庫(kù)D.非數(shù)據(jù)庫(kù)答案:C3. SQL語(yǔ)言具有 的功能。A.關(guān)系規(guī)范化、數(shù)據(jù)操縱、數(shù)據(jù)控制B.數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制C.數(shù)據(jù)定義、關(guān)系規(guī)范化、數(shù)據(jù)控制D.數(shù)據(jù)定義、關(guān)系規(guī)范化、數(shù)據(jù)操縱答案:B4. SQL語(yǔ)言的數(shù)據(jù)操縱語(yǔ)句包括SELECT , INSERT , UPDATE和DELETE等。其中最重要的,也是使用最頻繁的語(yǔ)句是 。A. SELECT B . INSERT C. UPDATE D. DELETE答案:A5

2、. SQL語(yǔ)言具有兩種使用方式,分別稱為交互式SQL和 。A.提示式 SQL B.多用戶SQL C.嵌入式SQL D.解釋式 SQL 答案:C6. SQL語(yǔ)言中,實(shí)現(xiàn)數(shù)據(jù)檢索的語(yǔ)句是 。A. SELECTB. INSERTC. UPDATED. DELETE答案:A7 .下列SQL語(yǔ)句中,修改表結(jié)構(gòu)的是 。A. ALTERB . CREATEC. UPDATED. INSERT答案:A第8到第11題基于這樣的三個(gè)表即學(xué)生表S、課程表C和學(xué)生選課表SC,它們的結(jié)構(gòu)如S(S#, SN, SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#為學(xué)號(hào),SN為姓名,

3、SEX為性別,AGE為年齡,DEPT為系別,C#為課程號(hào), CN為課程名,GRADE為成績(jī)。8 .檢索所有比 生華”年齡大的學(xué)生姓名、 年齡和性別。正確的SELECT語(yǔ)句是A . SELECT SN , AGE , SEX FROM S WHERE AGE > (SELECT AGE FROM SWHERE SN='王華')B. SELECT SN , AGE, SEX FROM S WHERE SN ='王華C. SELECT SN , AGE, SEX FROM S WHERE AGE > (SELECT AGEWHERE SN='王華)D. S

4、ELECT SN , AGE , SEX FROM SWHERE AGE >王華.AGE答案:A9 .檢索選修課程 “C如學(xué)生中成績(jī)最高的學(xué)生的學(xué)號(hào)。正確的SELECT語(yǔ)句是A. SELECT S# FORM SCWHERE C#='C2' AND GRAD > =(SELECT GRADE FORM SCWHERE C#= 'C2')B. SELECT S# FORM SCWHERE C#= 'C2' AND GRADE IN(SELECT GRADE FORM SCWHERE C#= 'C2')C. SELECT

5、S# FORM SCWHERE C#= 'C2 ' AND GRADE NOT IN(SELECT GRADE FORM SCWHERE C#= 'C2')D. SELECT S# FORM SCWHERE C#= 'C2 ' AND GRADE >= ALL(SELECT GRADE FORM SCWHERE C#= 'C2')答案:D10 .檢索學(xué)生姓名及其所選修課程的課程號(hào)和成績(jī)。正確的 SELECT語(yǔ)句是A. SELECT S . SN, SC. C#, SC. GRADE FROM S WHERE S . S#=S

6、C. S#B. SELECT S . SN, SC. C#, SC. GRADE FROM SCWHERE S . S#= SC. GRADEC. SELECT S . SN, SC. C#, SC. GRADEFROM S JION SC ON S#=SC . S#D. SELECT S .FROM S 答案:CSN, SC. C#, SC. GRADEJOIN SC11 .檢索選修4門(mén)以上課程的學(xué)生總成績(jī)(不統(tǒng)計(jì)不及格的課程),并要求按總成績(jī)的降序排列出來(lái)。正確的 SELECT語(yǔ)句是()。A. SELECT S# , SUM(GRADE) FROM SCWHERE GRADE>=60

7、GROUP BY S#ORDER BY 2 DESCHAVING COUNT(*)>=4B . SELECT S# , SUM(GRADE)FROM SCWHERE GRADE>=60GROUP BY S#HAVING COUNT(*)>=4ORDER BY 2 DESCC. SELECT S# , SUM(GRADE)FROM SCWHERE GRADE>=60HAVING COUNT(*)>= 4GROUP BY S#ORDER BY 2 DESCD. SELECT S# , SUM(GRADE)FROM SCWHERE GRADE>=60ORDER B

8、Y 2 DESCGROUP BY S#HAVING COUNT(*)=4答案:B12 .假定學(xué)生關(guān)系是 S(S#, SNAME , SEX, AGE),課程關(guān)系是 C(C# , CNAME , TEACHER), 學(xué)生選課關(guān)系是 SC(S#, C#, GRADE)。要查找選修“COMPUTER課程的 女”學(xué)生姓名,將涉及到關(guān)系 。A. S B. SC, C C. S, SC D. S, C, SC答案:D13 .在數(shù)據(jù)庫(kù)的如下兩個(gè)表中,若雇員信息表的主關(guān)鍵字是雇員號(hào),部門(mén)信息表中的主關(guān)鍵字是部門(mén)號(hào)。在下列所給的操作中,哪個(gè)不能執(zhí)行 。部門(mén)信息表雇員信息表部門(mén)號(hào)部門(mén)名的人雇員號(hào)雇員名部門(mén)號(hào)工資0

9、1業(yè)務(wù)部王軍001:張山02200002銷售部李建010王宏01120003服務(wù)部劉偉056馬林02100004財(cái)務(wù)部陳威101趙明041500A .從雇員信息表中刪除行(010'王宏01'1200)B.將行(102''趙明,01'1500)插入雇員信息表中C.將雇員信息表中,雇員 ='010勺工資改為1600元D.將雇員信息表中,雇員 ='10的部門(mén)號(hào)改為05'14.數(shù)據(jù)庫(kù)的兩個(gè)表同上,若雇員信息表的主關(guān)鍵字是雇員號(hào),部門(mén)信息表的主關(guān)鍵字是部門(mén)號(hào)。在部門(mén)信息表中,哪一行可以被刪除 。A.部門(mén)號(hào)=0的行B.部門(mén)號(hào)='2&#

10、39;的行C.部門(mén)號(hào)='3'的行D.部門(mén)號(hào)='4'的行15.若用如下的 SQL語(yǔ)句創(chuàng)建一個(gè) student表:CREATE TABLE student(NO C(4) NOT NULL NAME C(8) NOT NULL ,SEX C(2),AGE N(2)可以插入到 student表中的是 A. ('1031','曾華',男,23)C. (NULL,曾華,男,'23') 答案:B16 .與HAVING 子句一起使用的子句是( A . GROUP BYB. ORDER BY答案:A17 . FOREIGN KEY

11、 約束是()約束。A.實(shí)體完整性 B.參照完整性 答案:BB. ('1031','曾華',NULL , NULL)D. ('1031', NULL ,'男',23)。C. WHERED. JOINC.用戶自定義完整性D.域完整性18 .視圖創(chuàng)建完成后,數(shù)據(jù)字典中存放的是A.查詢語(yǔ)句 B.查詢結(jié)果)。C.視圖的定義D.所引用的基本表的定義答案:C19 .查詢中需要統(tǒng)計(jì)元組的個(gè)數(shù)時(shí),應(yīng)使用()函數(shù)。A . SUM(列名) B. COUNT(列名) C. COUNT(*) 答案:C20 .查詢中需要統(tǒng)計(jì)某列中值的個(gè)數(shù)應(yīng)使用()函數(shù)。A

12、. SUM(歹U名)B. COUNT(歹U名)C. COUNT(*)答案:BD. AVG(歹U名)D . AVG(歹U名)二、多項(xiàng)選擇題第1題到第4題基于這樣的3個(gè)表即學(xué)生表 S、課程表C和學(xué)生選課表 SC,它們的結(jié)構(gòu)如 下:S(S#, SN , SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#為學(xué)號(hào),SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號(hào),CN為課程名,GRADE成績(jī)1 .查詢所有比 生華”年齡大的學(xué)生姓名、年齡和性別。正確的 SELECT語(yǔ)句是(AC )。A . SELECT SN, AGE, SEX WHERE A

13、GE>(SELECTB. SELECT SN, AGE, SEX WHERE AGE>ANY( SELECT AGEC. SELECT SN, AGE, SEX WHERE AGE>ALL( SELECT AGED SELECT SN, AGE, SEX WHERE AGE>SOMEFROM SAGE FROM S WHERE SN=' 王華')FROM SFROM S WHERE SN='王華')FROM SFROM S WHERE SN='王華')( SELECT AGEFROM S WHERE SN='王華&

14、#39;)FROM S2 .查詢選修了課程號(hào)為“C2的學(xué)生中成績(jī)最高的學(xué)生的學(xué)號(hào),正確的 SELECT語(yǔ)句是(ABC )。SELECT S# FROM SC WHERE C#='C2' AND GRADE>=ALLB.CD( SELECT GRADESELECT S#SELECT S#SELECT S#FROM SCWHERE C#='C2')FROM SC WHERE C#='C2' AND GRADE IN( SELECT MAX(GRADE)FROM SC WHERE C#='C2')FROM SC WHERE C#=

15、'C2' AND GRADE=( SELECT MAX(GRADE)FROM SC WHERE C#='C2' )FROMSC WHERE C#='C2' AND GRADE>=ANY(SELECT GRADE FROM SC WHERE C#='C2')3 .查詢至少選修了兩門(mén)課程的學(xué)生的姓名,正確的 SELECT語(yǔ)句是(ACD )。A . SELECT S.SN FROM S JOIN SC ON S.S#=SC.S#GROUP BY S.S# HAVING COUNT(*)>=2B SELECT S.SN FRO

16、M SWHERE EXISTS( SELECT S# FROM SCGROUP BY S#HAVING COUNT(*)>2 )CSELECTS.SNFROM SJOINSCS1 ONS.S#=SC.S#JOINSCS2 ONS1.S#=S2.S#WHERE S1.C#!=S2.C#D SELECTS.SNFROMS WHERE S# IN( SELECT S# FROM SCGROUP BY S#HAVING COUNT(*)>2 )4 .查詢所有沒(méi)有被學(xué)生選過(guò)的課程的名稱,正確的 SELECT語(yǔ)句是(BD )。A . SELECT C.CN FROM C JOIN SC ON

17、SC.C#=C.C# WHERE C.C# IS NULLB . SELECT C.CN FROM C LEFT JOIN SC ON SC.C#=C.C# WHERE SC.C# IS NULLC . SELECT C.CN FROM SC LEFT JOIN C ON SC.C#=C.C# WHERE SC.C# IS NULLD . SELECT C.CN FROM SC RIGHT JOIN C ON SC.C#=C.C# WHERE SC.C# ISNULL三、填空題1 . SQL 是。答案:結(jié)構(gòu)化查詢語(yǔ)言2 . SQL語(yǔ)言的數(shù)據(jù)定義功能包括 、和。答案:定義數(shù)據(jù)庫(kù)定義基本表定義視圖

18、定義索引3 .視圖是一個(gè)虛表,它是從 中導(dǎo)出的表。在數(shù)據(jù)庫(kù)中,只存放視圖的,不存放視圖的 。答案:一個(gè)或幾個(gè)基本表定義視圖對(duì)應(yīng)的數(shù)據(jù)4 .設(shè)有如下關(guān)系表 R、S和T:以 R(BH , XM , XB , DWH)S(DWH , DWM)T(BH , XM , XB , DWH)實(shí)現(xiàn)R U T的SQL語(yǔ)句是 。實(shí)現(xiàn) DWH=100,(R)的SQL語(yǔ)句是 。實(shí)現(xiàn) nXM,XB (R)的SQL語(yǔ)句是 。實(shí)現(xiàn) Hxmqwh ( *8=女,0)的SQL語(yǔ)句是 。實(shí)現(xiàn)R ? S的SQL語(yǔ)句是 。實(shí)現(xiàn) IIXM,XB,DWM ( XB=男,(R ? S)的 SQL 語(yǔ)句是 。答案: SELECT * FRO

19、M R UNION SELECT * FROM T SELECT * FROM R WHERE DWH= '100' SELECT XM , XB FROM R SELECT XM , DWH FROM R WHERE XB='女'SELECT R.BH , R.XM , R.XB , R.DWH , S.DWM FROM RJION S ON R.DWH = S.DWH SELECT R.XM , R.XB , S.DWM FROM RJOIN S ON R.DWH=S.DWHWHERE R.XB='男'5 .設(shè)有如下關(guān)系表 R:R(No, N

20、AME , SEX , AGE, CLASS)主關(guān)鍵字是NO其中NO為學(xué)號(hào),NAME為姓名,SEX為性別,AGE為年齡,CLASS為班號(hào)。寫(xiě)出實(shí)現(xiàn)下列功能的 SQL語(yǔ)句。插入一個(gè)記錄(25,李明,男,21, '95031); 。插入95031'班學(xué)號(hào)為30、姓名為鄭和的學(xué)生記錄; 。將學(xué)號(hào)為10的學(xué)生姓名改為王華; 。將所有 “95101班號(hào)改為95091' 。刪除學(xué)號(hào)為20的學(xué)生記錄; 。刪除姓王'的學(xué)生記錄; 。答案:INSERT INTO R V ALUES(25 ,'李明'男21, '95031')INSERT INTO

21、R(NO , NAME , CLASS) VALUES(30 ,'關(guān)際口', '95031') UPDATE R SET NAME='王華'WHERE NO = 10 UPDATE R SET CLASS = '95091 'WHERE CLASS = '95101 ' DELETE FROM R WHERE NO=20DELETE FROMR WHERE NAME LIKE'王 '四、簡(jiǎn)述與應(yīng)用題1 .試述SQL語(yǔ)言的特點(diǎn)。答:(1) 一體化。SQL語(yǔ)言集數(shù)據(jù)定義語(yǔ)言 DDL、數(shù)據(jù)操縱語(yǔ)言 DML

22、、數(shù)據(jù)控制語(yǔ)言 DCL 的功能于一體。(2)高度非過(guò)程化。用 SQL語(yǔ)言進(jìn)行數(shù)據(jù)操作,只要提出做什么”,而無(wú)需指明 怎么做”,因此無(wú)需了解存取路徑,存取路徑的選擇以及sQL語(yǔ)句的操作過(guò)程由系統(tǒng)自動(dòng)完成。(3)面向集合的操作方式。SQL語(yǔ)言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。(4)以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式。SQL語(yǔ)言既是自含式語(yǔ)言,又是嵌入式語(yǔ)言。作為自含式語(yǔ)言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式;作為嵌入式語(yǔ)言,它能夠嵌入到高級(jí)語(yǔ)言程序中,供程序員設(shè)計(jì)程序時(shí)使用。(5)語(yǔ)言簡(jiǎn)捷,易學(xué)易用。2 .試述sQL的定義

23、功能。答:SQL 語(yǔ)言使用 CREATE TABLE DROP TABLE語(yǔ)句刪除基本表;SQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。 語(yǔ)句建立基本表, ALTER TABLE 語(yǔ)句修改基本表定義,使用 CREATE INDEX 語(yǔ)句建立索弓I, DROP INDEX 語(yǔ)句刪除索引; 使用 CREATE VIEW 語(yǔ)句建立視圖,DROP VIEW語(yǔ)句刪除視圖。3 .敘述使用SQL語(yǔ)言實(shí)現(xiàn)各種關(guān)系運(yùn)算的方法。答:SQL語(yǔ)言沒(méi)有提供關(guān)系的笛卡爾積、交和差運(yùn)算。其他關(guān)系運(yùn)算對(duì)應(yīng)的 SQL語(yǔ)句格式是:RUS SELECT * FROM RUNIONSELECT* FROM S選擇 SELECT

24、 *FROM 表WHERE 指定選擇的條件投影 SELECT 投影字段列表FROM 表連接 SELECT 連接的字段列表FROM 表名 1 >JION表名2> ON 連接條件3 .設(shè)有如下所示的三個(gè)關(guān)系,并假定這三個(gè)關(guān)系框架組成的數(shù)據(jù)模型就是用戶子模式。其中各個(gè)屬性的含義如下:A#(商店代號(hào)卜ANAME(商店名卜WQTY(店員人數(shù)卜CITY(所在城市)、B#(商品號(hào))、BNAME(商品名稱)、PRICE(價(jià)格)、QTY(商品數(shù)量)。試用SQL語(yǔ)言寫(xiě)出下列查詢,并給出執(zhí)行結(jié)果:(1)找出店員人數(shù)不超過(guò) 100人或者在長(zhǎng)沙市的所有商店的代號(hào)和商店名。SELECT A# , ANAMEF

25、ROM AWHERE WQTY <= 100 OR CITY = 長(zhǎng)沙(2)找出供應(yīng)書(shū)包的商店名。SELECT A.ANAME FROM AJOIN AB ON A.A# = AB.A#JION B ON AB.B#=B.B#WHERE B.BNAME='書(shū)包'(3)找出至少供應(yīng)代號(hào)為 256的商店所供應(yīng)的全部商品的商店名和所在城市。SELECT A.ANAME , A.CITY FROM A ,JOIN AB ON A.A# = AB.A#WHERE AB.B# IN(SELECT AB.B# ;FROM ABWHERE A#= "256”)AA#ANAMEW

26、QTYCITY101:百貨商店15長(zhǎng)沙204:k安商場(chǎng)89北京256西單商場(chǎng)500北京345:鐵道商店76長(zhǎng)沙620太平洋百貨412上海BB#BNAMEPRICE1鋼筆212羽毛球53復(fù)讀機(jī)3004書(shū)包76ABA#B#QTY101110510124210132510141042043612561241256291345114134521834547462041254 .設(shè)有圖書(shū)登記表 TS,具有屬性:BNO(圖書(shū)編號(hào)),BC(圖書(shū)類別),BNA(書(shū)名),AU(著 者),PUB(出版社)。按下列要求用 SQL語(yǔ)言進(jìn)行設(shè)計(jì):(1)按圖書(shū)館編號(hào) BNO建立TS表的索引ITS。(2)查詢,按出版社統(tǒng)計(jì)

27、其出版圖書(shū)總數(shù)。刪除索引ITS。解:(1) CREATE INDEX ITS ON TS(BNO)(2) SELECT PUB , COUNT(BNO) FROM TSGROUP BY PUB(3) DROP INDEX ITS5.己知三個(gè)關(guān)系 R(A,B,C)、S(A,D,E)和T(D,F),其中,名稱相同的屬性為關(guān)聯(lián)屬性,C、E為數(shù)值型屬性。試用SQL語(yǔ)句實(shí)現(xiàn)如下操作:(1)將R、S和T三個(gè)關(guān)系按關(guān)聯(lián)屬性建立一個(gè)視圖R-S-T;(2)對(duì)視圖R-S-T按屬性A分組后,求屬性 C和E的平均值。解:(1) CREATE VIEW R_S_TASSELECT R.A , B, C, S.D, E,

28、 F FROM RJOIN S ON R.A = S.AJOIN T S.D=T.D(2) SELECT A VG(C) , AVG(E)FROM R_S_T GROUP BY A6 .設(shè)有關(guān)系R (A, B)和S (A, C), A為相同屬性。試用SQL語(yǔ)句實(shí)現(xiàn):(1)查詢屬性C>50時(shí),R中相關(guān)聯(lián)的屬性 B之值。(2)當(dāng)屬性C=40時(shí),將R中與之相關(guān)連的屬性 B值修改為b4。解:(1) SELECT BFROM R JOIN S ON R.A = S.AWHERE C >50(2) UPDATE RSET B= 'b4'WHERE A IN(SELECT AFR

29、OM SWHERE C = 40)7 .已知R(A,B,C)和S(C,D,E)兩個(gè)關(guān)系,如下圖所示。執(zhí)行如下SQL語(yǔ)句:(1) CREATE VIEW H(A , BC, C, D, E)ASSELECT A , B, R, C , D , EFROM R JOIN S ON R . C=S. C;(2) SELECT B , D, EFROM HWHERE C = ' C2'試給出:視圖H;(2)對(duì)視圖H的查詢結(jié)果。解:本題的結(jié)果如圖所示。ABCDEa1b1c1d1e1a2b2c2d2e2a3b3c3d3e3視圖H8. 已知關(guān)系R如圖所示。BDEb2d2e2對(duì)H的查詢結(jié)果試用

30、SQL語(yǔ)句實(shí)現(xiàn)ABC97b18497b29297b39898b17298b28498b39599b18899b294(1)按屬性A分組,求出每組中在屬性 C上的最大值和最小值,且將它們置于視圖(2)在視圖RVE中查詢屬性 A= ' 9審記錄。解:(1) CREATE VIEW RVE(A , CMAX , CMIN)AS SELECT A , MAX(C) , MIN(C) FROMRGROUP BY A ;(2) SELECT *FROM RVEWHERE A= ' 98 ' 9.已知學(xué)生表 S和學(xué)生選課表SC。其關(guān)系模式如下:S(SNo, SN, SD, PROV)

31、SC(SNO , CN , GR)其中,SNO為學(xué)號(hào),SN為姓名,SD為系名,PROV為省區(qū),CN為課程名, 數(shù)。試用SQL語(yǔ)言實(shí)現(xiàn)下列操作:(1)查詢 蓿息系”的學(xué)生來(lái)自哪些省區(qū)。(2)按分?jǐn)?shù)降序排序,輸出 英語(yǔ)系”學(xué)生選修了 計(jì)算機(jī)”課程的學(xué)生的姓名和分?jǐn)?shù)。 解:(1) SELECT DISTINCT PROVFROM SWHERE SD=彳言息系'(2) SELECT SN , GRFROM S JOIN SC ON S.SNO = SC.SNOWHERE SD='英語(yǔ)系'AND CN='計(jì)算機(jī)RVE 中。GR為分ORDER BY GR DESC10 .設(shè)

32、有學(xué)生表 S(SNO , SN)(SNO為學(xué)號(hào),SN為姓名)和學(xué)生選課表 SC(SNO , CNO , CN , G)(CNO為課程號(hào),CN為課程名,G為成績(jī)),試用SQL語(yǔ)言完成以下各題:(1)建立一個(gè)視圖 V_SSC(SN, SN, CN, CN, G),并按CNO升序排序;(2)從視圖V-SSC上查詢平均成績(jī)?cè)?90分以上的SN、CN和G。 解:(1) CREATE VIEW V_SSC(SNO , SN, CNO , CN , G)AS SELECT S.SNO , S.SN, CNO , SC.CN , SC.G FROM S JOIN SC ON S . SNO=SC . SNO

33、ORDER BY CNO(2) SELECT SN CN GFROM V_SSCGROUP BY SNOHAVING A VG(G) >9011 .設(shè)有關(guān)系模式:SB(SN SNAME CITY)其中,S表示供應(yīng)商,SN為供應(yīng)商代號(hào),SNAME為供應(yīng)商名字,CITY為供應(yīng)商所在 城市,主關(guān)鍵字為 SN。PB(PN , PNAME , COLOR , WEIGHT)其中P表示零件,PN為零件代號(hào),PNAME為零件名字,COLOR為零件顏色,WEIGHT 為零件重量,主關(guān)鍵字為 PN。JB(JN, JNAME , CITY)其中,J表示工程,JN為工程編號(hào),JNAME為工程名字,CITY為工

34、程所在城市,主 關(guān)鍵字為JN。SPJB(SN, PN, JN, QTY)其中,SPJ表示供應(yīng)關(guān)系,SN是為指定工程提供零件的供應(yīng)商代號(hào), PN為所提供的零 件代號(hào),JN為工程編號(hào),QTY表示提供的零件數(shù)量,主關(guān)鍵字為 (SN, PN, JN),外部關(guān)鍵 字為 SN, PN, JN。寫(xiě)出實(shí)現(xiàn)以下各題功能的SQL語(yǔ)句:(1)取出所有工程的全部細(xì)節(jié);SELECT * FROM JB(2)取出所在城市為上海的所有工程的全部細(xì)節(jié);SELECT * FROM JB WHERE CITY= '上海(3)取出重量最輕的零件代號(hào);SELECT PN FROM PBWHERE WEIGHT=(SELECT

35、 MIN(WEIGHT) FROM PB)(4)取出為工程J1提供零件的供應(yīng)商代號(hào);SELECT SN FROM SPJB WHERE JN = J1 '(5)取出為工程J1提供零件P1的供應(yīng)商代號(hào);SELECT SN FROM SPJB WHERE JN= 'Jl' AND PN = 'Pl'(6)取出由供應(yīng)商S1提供零件的工程名稱;SELECT JB.JNAMEFROM JB JOIN SPJB ON JB.JN = SPJB.JNWHERE SPJB.SN= 'S1'(7)取出供應(yīng)商S1提供的零件的顏色;SELECT DISTINC

36、T PB.COLORFROM PB JOIN SPJB ON PB.PN = SPJB.PNWHERE SPJB . SN='S1'(8)取出為工程J1或J2提供零件的供應(yīng)商代號(hào);SELECT DISTINCT SNFROM SPJBWHERE JN= 'J1' OR JN= 'J2'(9)取出為工程J1提供紅色零件的供應(yīng)商代號(hào);SELECT DISTINCT SPJB.SNFROM SPJB JOIN PB ON SPJB.PN=PB.PNWHERE SPJB.JN= 'J1'AND PB.COLOR='紅'(1

37、0)取出為所在城市為上海的工程提供零件的供應(yīng)商代號(hào);SELECT DISTINCT SNFROM SPJB JOIN JB ON SPJB.JN=JB.JNWHERE CITY='上海(11)取出為所在城市為上海或北京的工程提供紅色零件的供應(yīng)商代號(hào);SELECT SNFROM SPJB JOIN PB ON SPJB.PN=PB.PN JOIN JB ON SPJB.JN=JB.JNWHERE COLOR= 紅AND CITY IN ( 上海北京)或:SELECT DISTINCT SN From SPJWHERE JN IN (SELECT JN FROM JBWHERE CITY

38、IN(' 上海','北京')AND PN IN (SELECT PN FROM PBWHERE COLOR=' 紅')(12)取出供應(yīng)商與工程所在城市相同的供應(yīng)商提供的零件代號(hào);SELECT DISTINCT SPJB.PNFROM SPJBJOIN SB ON SPJB.SN=SB.SNJOIN JB ON SPJB.JN=JB.JNWHERE SB.CITY=JB.CITY(13)取出上海的供應(yīng)商提供給上海的任一工程的零件的代號(hào);SELECT DISTINCT PNFROM SPJBJOIN SB ON SPJB.SN=SB.SNJOIN J

39、B ON SPJB.JN=JB.JNWHERE SB.CITY='上海AND JB.CITY='上海'(14)取出至少由一個(gè)和工程不在同一城市的供應(yīng)商提供零件的工程代號(hào);SELECT DISTINCT JN FROM SPJWHERE EXISTS (SELECT * FROM SBWHERE EXISTS(SELECT * FROM JBWHERE SB.SN=SPJ.SN AND JB.JN=SPJ.JN AND SB.CITY<>JB.CITY)(15)取出上海供應(yīng)商不提供任何零件的工程的代號(hào);SELECT DISTINCT JN FROM SPJBW

40、HERE JN NOT IN(SELECT DISTINCT SPJB.JN FROM SB JOIN SPJB ON SPJB.SN=SB.SNWHERE SB.CITY=' 上海)(16)取出這樣一些供應(yīng)商代號(hào),它們能夠提供至少一種由紅色零件的供應(yīng)商提供的零件;SELECT DISTINCT SN FROM SPJBWHERE PN IN(SELECT SPJB.PN FROM SPJBJOIN SB ON SB.SN=SPJB.SNJOIN PB ON PB.PN=SPJB.PNWHERE PB.COLOR =紅')(17)取出由供應(yīng)商S1提供零件的工程的代號(hào);SELEC

41、T DISTINCT JNFROM SPJB WHERE SN= S1'(18)取出所有這樣的一些CITY , CITY >二元組,使得第1個(gè)城市的供應(yīng)商為第 2個(gè) 城市的工程提供零件;SELECT JNFROM (SELECT DISTINCT PN, JN FROM SPJWHERE PN in (select distinct PNfrom SPJ where SN='s1')GROUP BY JNHAVING count(*)=(select count(*) from (SELECT DISTINCT PN FROM SPJWHERE SN='s

42、1')(19)取出所有這樣的三元組CITY , PN CITY,使得第1個(gè)城市的供應(yīng)商為第 2個(gè)城市的 工程提供指定的零件;SELECT DISTINCT SB.CITY, JB.CITYFROM SPJBJOIN SB ON SPJB.SN=SB.SNJOIN JB ON SPJB.JN=JB.JN(20)重復(fù)(19)題,但不檢索兩個(gè) CITY值相同的三元組。SELECT DISTINCT SB.CITY, SPJB.PN, JB.CITY FROM SPJBJOIN SB ON SPJB.SN=SB.SNJOIN JB ON SPJB.JN=JB.JN(21)重復(fù)(19)題,但不檢

43、索兩個(gè) CITY值相同的三元組。SELECT DISTINCT SB.CITY, SPJB.PN, JB.CITY FROM SPJBJOIN SB ON SPJB.SN=SB.SNJOIN JB ON SPJB.JN=JB.JNWHERE SB.CITY<>JB.CITY12 .以下面的數(shù)據(jù)庫(kù)為例,用SQL完成以下檢索。關(guān)系模式如下:倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),城市,面積)WAREHOUSE (WMNO , CITY , SIZE)職工(倉(cāng)庫(kù)號(hào),職工號(hào),工資) -EMPLOYEE (WHNO , ENO, SALARY )訂購(gòu)單(職工號(hào),供應(yīng)商號(hào),訂購(gòu)單號(hào),訂購(gòu)日期) -ORDER (SNO,

44、 SNO, ONO,DATE )供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址)-SUPPLIER (SNO, SNAME , ADDR )(1)檢索在北京的供應(yīng)商的名稱。SELECT SNAME FROM SUPPLIER WHERE ADDR=北京(2)檢索發(fā)給供應(yīng)商S6的訂購(gòu)單號(hào)。SELECT ONO FROM ORDER WHERESNO= ' S6'(3)檢索出職工E6發(fā)給供應(yīng)商S6的訂購(gòu)單號(hào)。SELECT ONO FROM ORDE R WHERE ENO=' E6' AND SNO= ' S6'(4)檢索出向供應(yīng)商S3發(fā)過(guò)訂購(gòu)單的職工的職工號(hào)和倉(cāng)

45、庫(kù)號(hào)。SELECT ENO , WHNO FROM EMPLOYEEWHERE ENO IN(SELECT ENOFROM ORDERWHERE SNO= ' S3)或:SELECT ENO , WHNO FROM EMPLOYEE JOIN ORDER ONMPLOYEE.ENO=ORDER.ENOWHERE ORDER.SNO = S3'(5)檢索出目前與S3供應(yīng)商沒(méi)有聯(lián)系的職工信息。SELECT ENO , WHNOFROM EMPLOYEEWHERE ENO NOT IN(SELECT ENO FROM ORDER WHERESNO= ' S3)(6)檢索出目前

46、沒(méi)有任何訂購(gòu)單的供應(yīng)商信息。SELECT * FROM SUPPLIER WHERE SNO NOT IN (SELECT SNO FROM ORDER ) (7)檢索出和職工E1、E3都有聯(lián)系的北京的供應(yīng)商信息。 SELECT * FROM SUPPLIER WHERE ADDR='北京'AND (EXISTS (SELECT * FROM ORDER WHERE SNO=SUPPIER.SNO AND ENO= 'E3')AND (EXISTS (SELECT * FROM ORDER WHERE SNO=SUPPIER.SNO AND ENO= '

47、E6') (8)檢索出目前和華通電子公司有業(yè)務(wù)聯(lián)系的每個(gè)職工的工資。SELECT ENO , SALARY FROM EMPLOYEEWHERE ENO IN(SELECT ENO FROM ORDER WHERE SNO IN(SELECT SNO FROM SUPPLIER WHEREADDR=華通電子公司')(9)檢索出與工資在1220元以下的職工沒(méi)有聯(lián)系的供應(yīng)商的名稱。 SELECT SNAME FROM SUPPLIER WHERE SNO NOT IN(SELECT SNO FROM ORDER WHERE ENO IN( SELECT ENO FROM EMPLO

48、YEE WHERE SALARY<1220 ) (10)檢索出向S4供應(yīng)商發(fā)出訂購(gòu)單的倉(cāng)庫(kù)所在的城市。SELECTCITY FROMWAREHOUSEWHEREWHNO IN(SELECT WHNO FROM EMPLOYEE WHERE ENOIN(SELECTENOFROM ORDER WHERE SNO= ' S4')或: SELECT CITY FROM WAREHOUSE JOIN EMPLOYEE ON W AREHOUSE.WHNO=EMPLOYEE.WHNO JOIN ORDER ON EMPLOYEE.ENO=ORDER.ENO WHERE ORDER.

49、SNO = S4'(11)檢索出在上海工作并且向 S6供應(yīng)商發(fā)出了訂購(gòu)單的職工號(hào)。SELECT ENO FROM EMPLOYEEWHERE WHNO IN(SELECT WHNO FROM WAREHOUSE WHERE CITY='上海) AND (ENO IN SELECT ENO FROM ORDER WHERESNO= 'S6')或:SELECT ENO FROM EMPLOYEEJOIN W AREHOUSE ON EMPLOYEE.WHNO=WREHOUSE.WHNOJOIN ORDER ON EMPLOYEE.ENO=ORDER.ENOWHERE

50、 WREHOUSE.CITY =上海'AND ORDER.SNO= ' S6'(12)檢索出在廣州工作并且只包 S6供應(yīng)商發(fā)出了訂購(gòu)單的職工號(hào)。SELECT ENO FROM EMPLOYEEWHERE WHNO IN (SELECT WHNO FROM WAREHOUSE WHERECITY=廣州')AND ENO IN (SELECT ENO FROM ORDER WHERE SNO= ' S6') AND (NOT EXISTS (SELECT * FROM ORDERWHERE SNO<>' S6' AND E

51、NO=EMPLOYEE.ENO)(13)檢索出由工資多于1230元的職工向北京的供應(yīng)商發(fā)出的訂購(gòu)單號(hào)。SELECT ONO FROM ORDERWHERE ENO IN (SELECT ENO FROM SALARY>1230)AND SNO IN (SELECT SNO FROM SUPPLIER 或:SELECT ONO FROM ORDERJOIN EMPLOYEE ON ORDER.ENO= EMPLOYEE.ENOJOIN SUPPLIER ON ORDER.SNO= SUPPLIER.SNOWHERE EMPLOYEE.SALARY>1230AND SUPPLIER. ADDR='北京(14)檢索出倉(cāng)庫(kù)的個(gè)數(shù)。SELECT COUNT(*) FROM WAREHOUSE(15)檢索出有最大面積的倉(cāng)庫(kù)信息。SELECT *FROM WAREHOUSE OUTERWHERE OUTER.SIZE=(SELECT

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論