數(shù)據(jù)庫基礎及其應用第四章課后作業(yè).doc_第1頁
數(shù)據(jù)庫基礎及其應用第四章課后作業(yè).doc_第2頁
數(shù)據(jù)庫基礎及其應用第四章課后作業(yè).doc_第3頁
數(shù)據(jù)庫基礎及其應用第四章課后作業(yè).doc_第4頁
數(shù)據(jù)庫基礎及其應用第四章課后作業(yè).doc_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

第四章 結(jié)構化查詢語言SQL一、填空題1.數(shù)據(jù)庫系統(tǒng)的外模式在SQL中稱為(視圖),它由(基本表)產(chǎn)生出來。2.SQL是高度(非過程化)和面向(集合)操作的語言。3.由create schema KUCUN authorization LIU命令建立的一個數(shù)據(jù)庫為(KUCUN),所有者為(LIU)。4.在SQL中,若一個完整性約束只涉及到一個列,則該完整性約束既可以作為(列級)完整性約束定義,也可以作為(表級)完整性約束定義,兩者只選其一。5.在列級和表級完整性約束中同時存在的約束分別為(主碼)、(單值)、(外碼)和(檢查)等四種約束。6.在SQL中,主碼約束的關鍵字為(primary key),外碼約束的關鍵字為(foreign key)。7.在SQL中,create table、alter table和drop table命令分別為在數(shù)據(jù)庫中(建立)、(修改)和(刪除)基本表結(jié)構的命令。8.向基本表中插入數(shù)據(jù)有兩種命令格式,一種稱為(單行)插入格式,另一種稱為(多行)插入格式。9.在SQL中,insert、update和delete分別為對基本表進行(插入)、(修改)和(刪除)記錄操作的命令。10.在SQL中,每個視圖中的列可以來自不同的(表),它是在原有表的基礎上(建立)的邏輯意義上的新關系。11.當建立一個視圖后,通常只對它做(修改)和(查找)這兩種操作。12.在(基本表)中,通常不應包括由計算可以得到的屬性,而在(視圖)中,為了用戶查詢數(shù)據(jù)的方便,則需要包含它們。13.當建立和刪除一個視圖時,對相應的基本表(沒有影響),當修改一個視圖時,則對相應的基本表(有影響)。14.在SQL中,建立視圖、修改視圖內(nèi)容和刪除視圖的命令分別為(create view)、(update)和(drop view)。15.在SQL新版的查詢語句中,select選項實現(xiàn)(投影)運算,from選項實現(xiàn)(連接)運算,where選項實現(xiàn)(選擇)運算。16.在SQL的查詢語句中,(group by)選項實現(xiàn)分組統(tǒng)計功能,(order by)選項實現(xiàn)對結(jié)果表的排序功能。17.在新版的SQL中,表之間的連接共有三種方式,對應的關鍵字分別為(inner join)、(left join)和(right join)。18.在實際的數(shù)據(jù)庫管理系統(tǒng)中,對數(shù)據(jù)庫的操作方式有(命令交互)、(程序執(zhí)行)和(窗口界面)三種。19.在SQL中建立和刪除數(shù)據(jù)庫模式的命令分別為(create schema)和(dropschema)。20.在SQL中完整性約束分為(列級)完整性約束和(表級)完整性約束兩個方面。21.在SQL中,列級完整性約束分為(6)各情況,表級完整性約束分為(4)種情況。22.在列級和表級完整性約束中同時存在的約束分別為(主碼)(單值)(外碼)和(檢查)四種約束。23.在(列級)完整性約束中,每個約束只能涉及到一個屬性;在(表級)完整性約束中,每個約束可以涉及多個屬性。24.在SQL中,單值約束的關鍵字為(Unique),檢查約束的關鍵字為(check)。25.向基本表插入數(shù)據(jù)時,可以在命令中例用關鍵字(Values)引出記錄值,或者在命令中通過(Select)子句得到一個結(jié)果表。26.在SQL中,對基本表進行插入、修改和刪除記錄的命令分別為(insert)、(update)和(delete)。27.基本表屬于全局模式的表,它是(實表),而視圖則屬于局部模式中的表,它是(虛表)。28.在SQL中通過使用視圖,能夠使在關系規(guī)范化時被分解的關系(連接)起來,能夠增強數(shù)據(jù)庫的(安全)性。29.在(基本表)中,通常不應包括由計算可以得到的屬性;而在(視圖)中為了用戶查詢數(shù)據(jù)的方便,則需要包含它們。30.在SQL中,根據(jù)基本表建立一個視圖時,包括建立了該視圖的(結(jié)構)和(內(nèi)容)兩個方面。31.在SQL中,create view、update和drop view命令分別為(建立)(修改)和(刪除)視圖的命令。32.在SQL中,建立視圖、修改視圖內(nèi)容和刪除視圖的命令分別為(create view)(update)和(drop view)。33.在SQL的查詢語句中,group by選項實現(xiàn)(分組統(tǒng)計)功能,order by選項實現(xiàn)對結(jié)果表的(排序)功能。34.在新版的SQL中,查詢所涉及的表及表之間的連接是在from選項中實現(xiàn)的,表之間的連接共有三種方式,分別稱為(中間連接)(左連接)和(右連接)。二、根據(jù)主教材第四章所給的商品庫和教學庫,按照下列所給的每條SQL查詢語句寫出相應的功能。在名稱為商品庫的數(shù)據(jù)庫中包含有商品表1和商品表2,它們的定義分別為:商品表1(商品代號 char(8),分類名 char(8),單價 float,數(shù)量 int)商品表2(商品代號 char(8),產(chǎn)地 char(6),品牌 char(6),)在名稱為教學庫的數(shù)據(jù)庫中包含有學生、課程和選課三個表,它們的定義分別為:學生(學生號 char(7),姓名 char(6),性別 char(2),出生日期 datetime,專業(yè) char(10),年級 int)課程(課程號 char(4),課程名 char(10),課程學分 int)選課(學生號 char(7),課程號 char(4),成績 int)1.select x.商品代號,分類名,數(shù)量,品牌 from 商品表1 x,商品表2 y where x.商品代號=y.商品代號從商品庫中查詢出每一種商品的商品代號、分類名、數(shù)量和品牌等信息。2. select distinct 品牌from 商品表2從商品庫中查詢出所有商品的不同品牌。3. select x.商品代號,分類名,產(chǎn)地,品牌from 商品表1 x,商品表2 ywhere x.商品代號=y.商品代號 and (品牌=熊貓 or 品牌=春蘭)從商品庫中查詢出品牌為熊貓或春蘭的所有商品的商品代號、分類名、產(chǎn)地和品牌。4. select 課程.課程號,課程.課程名,count(*) as 選課人數(shù)from 課程,選課where 課程.課程號=選課.課程號group by 課程.課程號,課程.課程名從教學庫中查詢出每門課程被選修的學生數(shù)。5. select *from 學生where 學生號 in (select 學生號 from 選課 group by 學生號 having count(*)=1)從教學庫中查詢出只選修了一門課程的全部學生。6. select x.*from 課程 x,選課 ywhere x.課程號=y.課程號 and y.學生號=s1 and y.課程號 not in (select 課程號 from 選課 where 選課.學生號=s2 )從教學庫中查詢出學生號為s1的學生所選修、而學生號為s2的學生沒有選修的全部課程。注:s1和s2分別是已保存相應學生號的字符型變量7. select *from 課程where exists (select * from 選課where 課程.課程號=選課.課程號)從教學庫中查詢出所有已被學生選修的課程。8. select *from 學生where exists (select * from 選課 where 學生.學生號=選課.學生號 group by 選課.學生號 having count(*)=3 )從教學庫中查詢出同時選修了3門課程的全部學生。9. select 專業(yè),count(*) as 專業(yè)人數(shù)from 學生group by 專業(yè)order by 專業(yè)人數(shù) desc從教學庫中查詢出每個專業(yè)的學生人數(shù),并按人數(shù)多少降序排列。10. select x.*,課程名,課程學分,成績from 學生 x,課程 y,選課 zwhere x.學生號=z.學生號 and y.課程號=z.課程號order by x.學生號,z.成績從教學庫中查詢出每個學生選課的全部情況,并依次按學生號和成績排序。11. select distinct 產(chǎn)地from 商品表2從商品庫中查詢出所有商品的不同產(chǎn)地。12. select count(distinct 產(chǎn)地)as 產(chǎn)地數(shù)from 商品表2從商品庫中查詢出所有商品的不同產(chǎn)地總數(shù)。13.select 學生.學號,count(*)as 選課門數(shù)from 學生,選課where 學生.學生號選課.學生號group by 學生.學生號從教學庫中查詢出每個學生選課的門數(shù)。14. select distinct x.*from 學生 x,選課 y,選課 zwhere y.學生號z.學生號 and y.課程號z.課程號and x.學生號y.學生號從教學庫中查詢出至少選修了兩門課程的全部學生。15. select x.學生號,y.學生號,y.課程號from 選課 x,選課 ywhere x.學生號s1 and y.學生號s2 and x.課程號y.課程號從教學庫中查詢出學生號為s1的學生和學生號為s2的學生所選修的共同課程的課程號。16. select * from 課程 where not exists(select * from 選課 where 課程.課程號選課.課程號)從教學庫查詢出所有未被學生選修的課程。17.select * from 學生 where 學生號 in(select 學生號 from 選課 group by 學生號 having count(*)=2000 or 數(shù)量=155.從商品庫中查詢出比所有商品單價的平均值要高的全部商品。select * from 商品表1where 單價all(select avg(單價) from 商品表1)6.從商品庫中查詢出同一類商品多于一種的所有分類名。select distinct 分類名from 商品表1group by 分類名 having count(*)17.從商品庫中查詢出每種商品的總價值,并按降序排列出來。select *,單價*數(shù)量 as 總價值from 商品表1order by 總價值 desc8.從教學庫中查詢出至少選修了姓名為m1學生所選課程中一門課的全部學生。select distinct 學生.* from 學生,選課where 學生.學生號=選課.學生號 and 課程號=any(select 課程號from 學生,選課where 學生.學生號=選課.學生號 and 姓名=m1 )7.從商品庫中查詢出數(shù)量大于10的商品種數(shù)。select count(*) as 數(shù)量from 商品表1where 數(shù)量108.從商品庫中查詢出每類(即分類名相同)商品的最高單價。select 分類名,max(單價) as 最高單價from 商品表1group by 分類名9.從商品庫中查詢出每類(即分類名相同)商品的總數(shù)量。select 分類名,sum(數(shù)量) as 總數(shù)量from 商品表1group by 分類名10.從商品庫中查詢出比所有電視機的單價都高的每種商品。select *from商品表1where單價all(select單價from商品表1where分類名=電視機) 11.從商品庫中查詢出數(shù)量最多的一種商品。select *from商品表1where數(shù)量some(selectmax(數(shù)量)from商品表1)12.從商品庫中查詢出同一產(chǎn)地的商品只有一種的所有商品。select 商品表1.*,產(chǎn)地from 商品表1,商品表2where 商品

溫馨提示

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

評論

0/150

提交評論