版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.關(guān)系數(shù)據(jù)庫語言SQL習(xí)題與答案一,選擇題1,下面關(guān)于SQL語言的敘述中,哪一條是錯誤的( ).A.SQL既可作為聯(lián)機交互環(huán)境中的查詢語言又可嵌入到主語言中B.SQL沒有數(shù)據(jù)控制功能C.使用SQL用戶只能定義索引而不能引用索引D.使用SQL用戶可以定義和檢索視圖2,SQL語言是( )A.高級語言 B.編程語言C.結(jié)構(gòu)化查詢語言 D.宿主語言3,在學(xué)生數(shù)據(jù)庫中,用SQL語句列出的所有女生的姓名,應(yīng)該對學(xué)生關(guān)系進(jìn)行( )操作.A.選擇 B.連接 C.投影 D.選擇和投影4,NULL是指( )A.0 B.空格 C.無任何值 D.空字符串5,下列哪條語句不屬于SQL數(shù)據(jù)操縱功能范圍( )A.SELEC
2、T B. CREAT TABLE C.DELETE D.INSERT6,用( )命令可建立唯一索引A.CREATE TABLE B.CREATE CLUSTERC.CREATE INDEX D.CREATE UNIQUE INDEX二,填空題1,SQL語言的使用方式有兩種,一種是 ,另一種是2,在SQL查詢中,WHERE子句的功能是 .3,視圖是一個虛表,它是從 的表.4,SQL語言的數(shù)據(jù)操縱功能包括 , , ,和 ,5,在SQL支持的關(guān)系數(shù)據(jù)庫三級模式結(jié)構(gòu)中,外模式對應(yīng)于 ,模式對應(yīng)于 ,內(nèi)模式對應(yīng)于 .6,在SELECT語句中,HAVING子句必須跟在 子句后面.三,問題及操作題1,名詞解
3、釋SQL模式 SQL數(shù)據(jù)庫 基本表 視圖 相關(guān)子查詢 聯(lián)接查詢嵌入式SQL 游標(biāo)2,對于教學(xué)數(shù)據(jù)庫的三個基本表學(xué)生 S(S#,SNAME,AGE,SEX)學(xué)習(xí) SC(S#,C#,GRADE)課程 C(C#,CNAME,TEACHER)試用SQL的查詢語句表達(dá)下列查詢:(1)檢索LIU老師所授課程的課程號和課程名.(2)檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名.(3)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名.( 4) 檢索WANG同學(xué)不學(xué)的課程的課程號.(5)檢索至少選修兩門課程的學(xué)生學(xué)號.(6)檢索全部學(xué)生都選修的課程的課程號與課程名.(7)檢索選修課程包含LIU老師所授課的學(xué)生學(xué)號
4、.3, 設(shè)有兩個基本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:(1)RS (2)RS (3)R-S (4)A,B(R)B,C(S)4, 試用SQL查詢語句表達(dá)下列對教學(xué)數(shù)據(jù)庫中三個基本表S,SC,C的查詢:(1)統(tǒng)計有學(xué)生選修的課程門數(shù).(2)求選修C4課程的學(xué)生的平均年齡.(3)求LIU老師所授課程的每門課程的學(xué)生平均成績.(4)統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計).要求輸出課程號和選修人數(shù), 查 詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列.(5)檢索學(xué)號比WANG同學(xué)大,而年齡比他小的學(xué)生姓名.(6)檢索姓名以WANG打頭的所有學(xué)
5、生的姓名和年齡.(7)在SC中檢索成績?yōu)榭罩档膶W(xué)生學(xué)號和課程號.(8)求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡.5, 試用SQL更新語句表達(dá)對教學(xué)數(shù)據(jù)庫中三個基本表S,SC,C的各個更新操作:(1)往基本表S中插入一個學(xué)生元組('S9','WU',18).(2)在基本表S中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號,姓名和性別, 并把檢索到的值送往另一個已存在的基本表STUDENT(S#,SANME,SEX).(3)在基本表SC中刪除尚無成績的選課元組.(4)把WANG同學(xué)的學(xué)習(xí)選課和成績?nèi)縿h去(5)把選修MATHS課不及格的成績?nèi)臑榭罩?(6)把低于總
6、平均成績的女同學(xué)成績提高5%.(7)在基本表SC中修改C4課程的成績,若成績小于等于75分時提高5%, 若成績大于75分時提高4%(用兩個UPDATE語句實現(xiàn)).6, 在宿主語言的程序中使用SQL語句有哪些規(guī)定7,嵌入式SQL語句何時不必涉及到游標(biāo) 何時必須涉及到游標(biāo)答案:一,1,B 2,C 3,D 4,C 5,B 6,D二,1,嵌入式 交互式 2,選擇3,基本表導(dǎo)出的表 4,數(shù)據(jù)查詢 數(shù)據(jù)更新 數(shù)據(jù)插入 數(shù)據(jù)刪除5,視圖或部分基本表 基本表 存儲文件6,GROUP BY三,1,名詞解釋SQL模式:SQL模式是表和授權(quán)的靜態(tài)定義.一個SQL模式定義為基本表的集合. 一個由模式名和模式擁有者的用
7、戶名或賬號來確定,并包含模式中每一個元素(基本表,視圖,索引等)的定義.SQL數(shù)據(jù)庫:SQL(Structured Query Language),即'結(jié)構(gòu)式查詢語言',采用英語單詞表示和結(jié)構(gòu)式的語法規(guī)則. 一個SQL數(shù)據(jù)庫是表的匯集,它用一個或多個SQL模式定義.基本表:在SQL中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(Base Table). 基本表是實際存儲在數(shù)據(jù)庫中的表,對應(yīng)一個關(guān)系.視圖:在SQL中,把傳統(tǒng)的關(guān)系模型中的子模式稱為視圖(View),視圖是從若干基本表和(或)其他視圖構(gòu)造出來的表.相關(guān)子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴
8、于外層查詢中的某個值, 所以子查詢的處理不只一次,要反復(fù)求值,以供外層查詢使用.聯(lián)接查詢:查詢時先對表進(jìn)行笛卡爾積操作,然后再做等值聯(lián)接,選擇,投影等操作. 聯(lián)接查詢的效率比嵌套查詢低.嵌入式SQL:嵌入在高級語言的程序中使用的SQL語言稱為嵌入式SQL.游標(biāo):游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號名,用于把集合操作轉(zhuǎn)換成單記錄處理方式.2,(1)檢索LIU老師所授課程的課程號和課程名.SELECT C#,CNAMEFROM CWHERE TEACHER='LIU'(2)檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名.SELECT S#,SNAMEFROM SWHERE (AGE>23
9、) AND (SEX='M')(3)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名.SELECT SNAMEFROM SWHERE SEX='F' AND S# IN(SELECT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU')NOTICE:有多種寫法,比如聯(lián)接查詢寫法:SELECT SNAMEFROM S,SC,CWHERE SEX='F' AND SC.S#=S.S#AND SC.C#=C.C#AND TEACHER='LIU'但上一種寫法
10、更好一些.(4)檢索WANG同學(xué)不學(xué)的課程的課程號.SELECT C#FROM CWHERE C# NOT IN(SELECT C#FROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG')(5)檢索至少選修兩門課程的學(xué)生學(xué)號.SELECT DISTINCT X.SNOFROM SC X,SC YWHERE X.SNO=Y.SNO AND X.CNOY.CNONotice:對表SC進(jìn)行自連接,X,Y是SC的兩個別名.(6)檢索全部學(xué)生都選修的課程的課程號與課程名.SELECT C#,CNAMEFROM CWHERE NOT EXI
11、STS(SELECT *FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#)要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學(xué).其中,"不選這門課的同學(xué)"可以表示為:SELECT *FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#)或者SELECT *FROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE S.S#=C.S# ANDSC.C#=C.C# )(7)檢索選修課程包含LIU老師所授課的學(xué)生學(xué)號.SEL
12、ECT DISTINCT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU')3,(1)SELECT A,B,CFROM RUNIONSELECT A,B,CFROM S(2)SELECT A,B,CFROM RINTERSECTSELECT A,B,CFROM S(3)SELECT A,B,CFROM RWHERE NOT EXISTS(SELECT A,B,CFROM SWHERE R.A=S.A AND R.B=S.B AND R.C=S.C)(4)SELECT R.A,R.B,S.CFROM R,SWHERE
13、R.B=S.B4, (1)統(tǒng)計有學(xué)生選修的課程門數(shù).SELECT COUNT(DISTINCT C#) FROM SC(2)求選修C4課程的學(xué)生的平均年齡.SELECT AVG(AGE)FROM SWHERE S# IN(SELECT S#FROM SCWHERE C#='C4')或者,SELECT AVG(AGE)FROM S,SCWHERE S.S#=SC.S# AND C#='004'(3)求LIU老師所授課程的每門課程的學(xué)生平均成績.SELECT CNAME,AVG(GRADE)FROM SC ,CWHERE SC.C#=C.C# AND TEACHER
14、='LIU'GROUP BY C#(4)統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計).要求輸出課程號和選修人數(shù), 查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列.SELECT DISTINCT C#,COUNT(S#)FROM SCGROUP BY C#HAVING COUNT(S#)>10ORDER BY 2 DESC, C# ASC(5)檢索學(xué)號比WANG同學(xué)大,而年齡比他小的學(xué)生姓名.SELECT X.SNAMEFROM S AS X, S AS YWHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.
15、AGE(SELECT AVG(AGE) FROM S AS Y WHERE Y.SEX='女')5, (1)往基本表S中插入一個學(xué)生元組('S9','WU',18).INSERT INTO S(S#,SNAME,AGE) VALUES('59','WU',18)(2)在基本表S中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號,姓名和性別, 并把檢索到的值送往另一個已存在的基本表STUDENT(S#,SANME,SEX).INSERT INTO STUDENT(S#,SNAME,SEX)SELECT S#,SNAME,
16、SEXFROM S WHERE NOT EXISTS(SELECT * FROM SC WHEREGRADE<80 AND S.S#=SC.S#)(3)在基本表SC中刪除尚無成績的選課元組.DELETE FROM SCWHERE GRADE IS NULL(4)把WANG同學(xué)的學(xué)習(xí)選課和成績?nèi)縿h去.DELETE FROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG')(5)把選修MATHS課不及格的成績?nèi)臑榭罩?UPDATE SCSET GRADE=NULLWHERE GRADE<60 AND C# IN(SEL
17、ECT C#FROM CWHERE CNAME='MATHS')6)把低于總平均成績的女同學(xué)成績提高5%.UPDATE SCSET GRADE=GRADE*1.05WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F')(7)在基本表SC中修改C4課程的成績,若成績小于等于75分時提高5%, 若成績大于75分時提高4%(用兩個UPDATE語句實現(xiàn)).UPDATE SCSET GRADE=GRADE*1.05WHERE C#='C4' AND GRADE756, 在宿主語言的程序中使用SLQ語句有以下規(guī)定:(1)在程序中要區(qū)分SQL語句與宿主語言語句(2)允許嵌入的SQL語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:1)引用時
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能家居音響系統(tǒng)與家裝室內(nèi)裝修合同9篇
- 二零二五版大理石瓷磚研發(fā)與銷售合作合同范本3篇
- 二零二五版民營企業(yè)股權(quán)激勵合同書3篇
- 教育局教師幼兒園專項2025年度勞動合同規(guī)范文本3篇
- 二零二五年銷售代理合同:汽車銷售代理及區(qū)域獨家合作協(xié)議2篇
- 2025年科技孵化器場地租賃保證金合同范本2篇
- 二零二五版39上公司兜底協(xié)議:綠色環(huán)保項目投資風(fēng)險控制合同3篇
- 二零二五年度鋼箱梁橋工程施工廢棄物處理與回收利用合同3篇
- 二零二五版綠色建筑項目基礎(chǔ)勞務(wù)分包合同2篇
- 二零二五年度高速公路隧道防雷安全防護(hù)合同3篇
- 水土保持監(jiān)理總結(jié)報告
- Android移動開發(fā)基礎(chǔ)案例教程(第2版)完整全套教學(xué)課件
- 醫(yī)保DRGDIP付費基礎(chǔ)知識醫(yī)院內(nèi)培訓(xùn)課件
- 專題12 工藝流程綜合題- 三年(2022-2024)高考化學(xué)真題分類匯編(全國版)
- DB32T-經(jīng)成人中心靜脈通路裝置采血技術(shù)規(guī)范
- 【高空拋物侵權(quán)責(zé)任規(guī)定存在的問題及優(yōu)化建議7100字(論文)】
- TDALN 033-2024 學(xué)生飲用奶安全規(guī)范入校管理標(biāo)準(zhǔn)
- 物流無人機垂直起降場選址與建設(shè)規(guī)范
- 冷庫存儲合同協(xié)議書范本
- AQ/T 4131-2023 煙花爆竹重大危險源辨識(正式版)
- 武術(shù)體育運動文案范文
評論
0/150
提交評論