版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)1SSMS圖形界面創(chuàng)建數(shù)據(jù)庫和學(xué)生表實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖煜icrosoftSQLServerManagementStudio(簡稱SSMS)平臺的操作。能夠在圖形化界面創(chuàng)建和維護(hù)數(shù)據(jù)庫,建立對數(shù)據(jù)庫的感性認(rèn)識。能夠在圖形化界面創(chuàng)建表,進(jìn)行數(shù)據(jù)的增、刪、改、查。能夠在圖形化界面分離數(shù)據(jù)庫。實(shí)驗(yàn)內(nèi)容按照要求完成如下操作。如果有不會的操作,可以掃描書上二維碼看操作演示視頻。在SSMS平臺創(chuàng)建數(shù)據(jù)庫,命名為stu+姓名簡拼,存在C盤根目錄。(視頻1創(chuàng)建數(shù)據(jù)庫)打開新創(chuàng)建的數(shù)據(jù)庫,創(chuàng)建一個學(xué)生表,表名也加上自己姓名的簡拼,命名為:Student+姓名簡拼,加主鍵、非空約束、檢查約束和默認(rèn)值。表結(jié)構(gòu)如表2-4所示。(視頻2建student表-主鍵、非空、默認(rèn)值、檢查約束)表2-4學(xué)生表列名數(shù)據(jù)類型寬度為空性說明Snointnotnull學(xué)號,主鍵Snamevarchar8notnull姓名Ssexchar2性別,限制只能輸入“男”和“女”Sagesmallint年齡Sdeptvarchar4所在系,默認(rèn)“CS”增加、修改數(shù)據(jù)(在表名上單擊右鍵,選擇【編輯前200行】)。錄入正確的數(shù)據(jù),也錄入錯誤的數(shù)據(jù)檢驗(yàn)主鍵、非空約束、默認(rèn)值和外鍵的作用,看懂錯誤提示之后,修改為正確數(shù)據(jù)存入,數(shù)據(jù)如表2-5所示。最后再增加一行你自己的姓名、性別、年齡等信息。表2-5學(xué)生表數(shù)據(jù)SnoSnameSsexSageSdept說明200215121200215122200215123200515125200215126200215122李勇劉晨王敏張立蕭山李世民男女女男F男20191819CSMAIS正確數(shù)據(jù)正確數(shù)據(jù),Sdept默認(rèn)CS正確數(shù)據(jù)正確數(shù)據(jù)錯誤數(shù)據(jù),性別錯錯誤數(shù)據(jù),學(xué)號重復(fù)說明:CS計算機(jī)科學(xué)系,MA數(shù)學(xué)系,IS信息系分離數(shù)據(jù)庫。(視頻3分離附加數(shù)據(jù)庫)截圖填寫實(shí)驗(yàn)報告,交作業(yè)包括三個文檔:實(shí)驗(yàn)報告、數(shù)據(jù)文件和日志文件。并在實(shí)驗(yàn)小結(jié)中回答思考題。三、實(shí)驗(yàn)步驟(粘貼幾張運(yùn)行結(jié)果截圖,截圖上必須能看到你的姓名簡拼)四、實(shí)驗(yàn)小結(jié)思考題:字段設(shè)置為NotNull是什么意思,在錄入數(shù)據(jù)時有什么影響。例如student表中的學(xué)生姓名設(shè)置為NotNull,在錄入數(shù)據(jù)的時候是否可以不錄入學(xué)生姓名。性別列的檢查約束的作用是什么。所在系默認(rèn)值的效果是什么?如果不分離數(shù)據(jù)庫,能否拷貝數(shù)據(jù)庫文件。成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)2SSMS圖形界面管理數(shù)據(jù)庫和課程表、成績表實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖煜icrosoftSQLServerManagementStudio(簡稱SSMS)平臺的操作。能夠在圖形化界面創(chuàng)建和維護(hù)數(shù)據(jù)庫,建立對數(shù)據(jù)庫的感性認(rèn)識。能夠在圖形化界面創(chuàng)建表,進(jìn)行數(shù)據(jù)的增、刪、改、查。能夠理解各種約束的作用。能夠在圖形化界面分離和附加數(shù)據(jù)庫。實(shí)驗(yàn)內(nèi)容按照要求完成如下操作。如果有不會的操作,可以掃描書上二維碼看操作演示視頻。下載上次課數(shù)據(jù)文件和日志文件,附加數(shù)據(jù)庫。(視頻3分離附加數(shù)據(jù)庫)打開數(shù)據(jù)庫,繼續(xù)創(chuàng)建課程表和成績表,分別命名為Course+姓名簡拼和SC+姓名簡拼,加主鍵(含聯(lián)合主鍵)、外鍵、非空約束等。表結(jié)構(gòu)如表2-6和表2-7所示。(視頻4建SC表-聯(lián)合主鍵、外鍵)表2-6Course+姓名簡拼列名數(shù)據(jù)類型寬度為空性說明Cnointnotnull課程號,主鍵Cnamevarchar50notnull課程名Cpnoint先行課Ccreditsmallint學(xué)分表2-7SC+姓名簡拼列名數(shù)據(jù)類型寬度為空性說明Snointnotnull學(xué)號,聯(lián)合主鍵,外鍵Cnointnotnull課程號,聯(lián)合主鍵,外鍵Gradeint成績增加、修改數(shù)據(jù)(在表名上單擊右鍵,選擇【編輯前200行】)。(1.3插入、修改、刪除數(shù)據(jù)、1.4查詢數(shù)據(jù))錄入正確的數(shù)據(jù),也錄入錯誤的數(shù)據(jù),檢驗(yàn)主鍵、聯(lián)合主鍵、非空約束和外鍵的作用,看懂錯誤提示之后,修改為正確數(shù)據(jù)存入,數(shù)據(jù)如表2-8和表2-9所示。2-8課程表數(shù)據(jù)CnoCnameCpnoCcredit說明12345668數(shù)據(jù)庫數(shù)學(xué)信息系統(tǒng)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)處理PASCAL語言516764243424正確數(shù)據(jù)正確數(shù)據(jù)正確數(shù)據(jù)正確數(shù)據(jù)正確數(shù)據(jù)正確數(shù)據(jù)錯誤數(shù)據(jù),課程號重復(fù)錯誤數(shù)據(jù),課程名不可以空表2-9成績表數(shù)據(jù)SnoCnoGrade說明2002151212002151212002151212002151222002151211232292908099正確數(shù)據(jù)正確數(shù)據(jù),成績可以空正確數(shù)據(jù)錯誤數(shù)據(jù),學(xué)號不可以空錯誤數(shù)據(jù),課程號不可以空錯誤數(shù)據(jù),主鍵沖突修改表結(jié)構(gòu)。在課程表增加一列存課程學(xué)時hourint。注意:修改表結(jié)構(gòu)后一定要保存修改。查詢數(shù)據(jù)(表名上單擊右鍵,選擇【選擇前1000行】),查看表結(jié)構(gòu)變化。(1.4查詢數(shù)據(jù))分離數(shù)據(jù)庫。(1.1.5分離數(shù)據(jù)庫)截圖填寫實(shí)驗(yàn)報告,交作業(yè)包括三個文檔:實(shí)驗(yàn)報告、數(shù)據(jù)文件和日志文件。三、實(shí)驗(yàn)步驟(粘貼幾張運(yùn)行結(jié)果截圖,截圖上必須能看到你的姓名簡拼)四、實(shí)驗(yàn)小結(jié)思考題:主鍵約束的效果是什么,學(xué)生表、課程表上的主鍵和成績表上的聯(lián)合主鍵效果有什么不同。習(xí)題解析第1章習(xí)題解析第1章成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)3數(shù)據(jù)定義實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康哪軌蚴炀毷褂肧QL語句創(chuàng)建、修改和刪除數(shù)據(jù)庫。能夠熟練使用SQL語句創(chuàng)建、修改和刪除表。能夠熟練使用SQL語句創(chuàng)建和維護(hù)表中約束。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。員工表、商品表和客戶表三個表之間沒有聯(lián)系,三個表都與訂單表有一對多的聯(lián)系,訂單表中記載每一筆銷售訂單信息,包括哪位員工將哪種商品銷售給了哪個客戶,并記錄銷售數(shù)量和銷售日期。四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系使用SQL語句創(chuàng)建銷售數(shù)據(jù)庫,數(shù)據(jù)庫名字為Sales+你的姓名簡拼,保存在C盤根目錄,數(shù)據(jù)文件初始大小3MB,增長率10%。使用USE命令打開剛創(chuàng)建的數(shù)據(jù)庫。使用SQL語句在剛創(chuàng)建的數(shù)據(jù)庫中創(chuàng)建四張表,并增加約束,表結(jié)構(gòu)如表2-4~表2-7所示,創(chuàng)建的表名字上都要加上你的姓名簡拼。表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期在你的數(shù)據(jù)庫名字上右擊,在彈出菜單中選擇【刷新】命令,在【表】中查看你創(chuàng)建的四張表。使用SQL語句刪除員工表,查看語句運(yùn)行效果。三、實(shí)驗(yàn)步驟(粘貼幾張運(yùn)行結(jié)果截圖,截圖上能看到數(shù)據(jù)庫名、表名和表的結(jié)構(gòu))四、實(shí)驗(yàn)小結(jié)思考題:說一說四個表之間的聯(lián)系是如何體現(xiàn)的。建表時是否有順序的要求,哪個表必須最后創(chuàng)建。刪除表時是否有順序要求。成績優(yōu)良中及格不及格教師簽名:日期:----《初識數(shù)據(jù)庫》實(shí)驗(yàn)4數(shù)據(jù)更新環(huán)境代碼----說明:先將WWW替換為你的姓名簡拼,然后整體執(zhí)行代碼--創(chuàng)建數(shù)據(jù)庫(判斷數(shù)據(jù)庫如果存在,先刪除后創(chuàng)建)USEmasterGOIFEXISTS(SELECT*FROMsysdatabasesWHEREname='Saleswww')DROPDATABASESaleswwwGOcreatedatabaseSaleswwwon(name=Saleswww_data,filename='c:\Saleswww_data.mdf',size=3,filegrowth=10%)logon(name=Saleswww_log,filename='c:\Saleswww_log.ldf')go--使用USE命令打開剛創(chuàng)建的數(shù)據(jù)庫。useSaleswww--使用SQL語句在剛創(chuàng)建的數(shù)據(jù)庫中創(chuàng)建四張表,并增加約束createtableEmployeewww--員工表(EID int notnullprimarykey,--主鍵 員工號EName varchar(50) notnull,--員工姓名Sex char(2) notnullcheck(Sex='男'orSex='女'),--性別HireDate smalldatetime ,--
聘任日期Salary money--工資)createtableProductwww--商品表(PID int notnullprimarykey,--主鍵 商品編號PName varchar(50) notnull,--商品名稱Price Decimal(8,2),--單價StockNumber int,--現(xiàn)有庫存量SellNumber int--已銷售數(shù)量)createtableCustomerwww--客戶表(CID int notnullprimarykey,--主鍵 客戶編號CName varchar(50) notnullunique,--客戶名稱,唯一Phone varchar(20) ,--聯(lián)系電話Address varchar(100) ,--客戶地址Email varchar(50) --客戶Email)createtableOrderswww--訂單表(ID int notnullprimarykey,--主鍵 訂單編號EID int foreignkeyreferencesEmployeewww(Eid),--來自員工表的外鍵 員工號PID int foreignkeyreferencesProductwww(Pid),--來自商品表的外鍵 商品編號CID int foreignkeyreferencesCustomerwww(Cid),--來自客戶表的外鍵 客戶編號Number int ,--訂貨數(shù)量Date smalldatetimedefault(getdate()) --訂貨日期,默認(rèn)當(dāng)前日期)數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)4數(shù)據(jù)更新實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖炀毷褂肧QL語句進(jìn)行數(shù)據(jù)的增、刪、改操作。通過不同的數(shù)據(jù)檢驗(yàn)約束的效果,進(jìn)一步理解完整性約束的作用。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。四個表之間的聯(lián)系如圖2-5所示,表結(jié)構(gòu)如表2-4~表2-7所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期請使用SQL語句完成如下操作。將你和你的同組同學(xué)作為公司員工錄入到員工表中,第一行錄入你自己的信息,再錄入至少兩位同組同學(xué)的信息。提示:int型和money型數(shù)據(jù)直接寫數(shù)字,不加引號,字符型和日期型數(shù)據(jù)要加單引號,例如日期型可寫為'2024-4-23'的格式;自己設(shè)計數(shù)據(jù)驗(yàn)證主鍵、非空和檢查約束的效果。公司新進(jìn)打印紙和墨盒,各進(jìn)貨100件,其中打印紙定價5元,墨盒定價21.5元,請用SQL語句完成商品信息入庫操作。構(gòu)件廠是公司的一個客戶,該客戶想要購買10件打印紙,如果由你來接待這個客戶,請你先溝通了解客戶的信息,將信息記錄到客戶表中,然后生成銷售訂單,將打印紙的商品編號、客戶編號、你的員工編號和銷售數(shù)量等信息記錄在訂單表中。打印紙賣出了10件,不僅需要在訂單表中記載,也需要更新商品表中該商品的現(xiàn)有庫存量和已銷售數(shù)量,請你修改表中數(shù)據(jù),將打印紙的現(xiàn)有庫存量減少10,已銷售數(shù)量增加10。提示:銷售商品既需要插入操作,也需要更新操作,涉及兩張表。請你再進(jìn)貨幾件商品,增加幾個客戶,進(jìn)行信息入戶操作和相應(yīng)銷售操作。有一名員工離職了,請你在員工表中將該員工刪除。有的商品不再供貨,需要在商品表中刪除,請你選擇一個未銷售過的商品和一個已經(jīng)有銷售訂單的商品分別刪除,比較效果有什么不同。三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)思考題:刪除主鍵表數(shù)據(jù)會受外鍵表上的外鍵制約,不同的數(shù)據(jù)選擇不同的處理方式,請你說說刪除員工、商品和客戶信息分別應(yīng)該怎么處理。成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)5單表查詢(一)實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖炀毷褂肧QL語句完成選擇、投影等單表查詢語句。熟悉常見日期函數(shù)、字符串函數(shù)的使用方法。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年字符串函數(shù):left(,n)請使用SQL語句完成如下查詢操作,每個查詢只涉及一張表中的數(shù)據(jù)。1、使用銷售數(shù)據(jù)庫的題目查詢所有客戶的詳細(xì)信息。查詢所有客戶的客戶編號、客戶姓名、電話。查詢所有員工的姓名及入職年限(使用日期函數(shù))。查詢員工入職年份分布在哪幾年,不顯示重復(fù)值(使用日期函數(shù))。查詢價格在100~300元之間的商品的編號、名稱和價格。查詢商品編號為1、3、5、7、9的商品的詳細(xì)信息。查詢哪些客戶沒有填寫地址和Email。查詢價格最高的前十個商品的編號、名稱和價格。查詢客戶分布在哪幾個城市(地址前三個字表示城市)。查詢姓名第二個字是“恒”的客戶,顯示客戶名稱和電話的漢字別名。使用stuDB數(shù)據(jù)庫的題目(6道題)【例題5-1】查詢?nèi)w學(xué)生的姓名和民族。【例題5-2】查詢?nèi)w學(xué)生的姓名、民族和性別?!纠}5-3】查詢?nèi)w學(xué)生的詳細(xì)信息?!纠}5-4】查詢學(xué)生的姓名及年齡?!纠}5-5】查詢學(xué)生分布在哪些民族?!纠}5-6】查詢課程表中前兩門課程的詳細(xì)信息?!纠}5-7】查詢哪些學(xué)生是少數(shù)民族,顯示學(xué)生姓名和民族。【例題5-8】查詢年齡在19~21歲(包括19和21歲)之間的學(xué)生的學(xué)號、姓名、出生日期?!纠}5-9】查詢民族為“漢族”或者“滿族”的學(xué)生詳細(xì)信息?!纠}5-10】查詢哪些學(xué)生選課了還沒有考試成績,顯示學(xué)號,課程號?!纠}5-11】查詢哪些學(xué)生姓名中含有“南”字?!纠}5-12】查詢名字中第二個字為“南”,并且名字為兩個字的學(xué)生的詳細(xì)信息?!纠}5-13】找出所有姓“張”和姓“江”的員工信息。三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)6單表查詢(二)實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖炀毷褂肧QL語句完成選擇、投影、排序等單表查詢語句。熟悉常見聚合函數(shù)的使用方法,能夠進(jìn)行分組統(tǒng)計。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)請使用SQL語句完成如下查詢操作,每個查詢只涉及一張表中的數(shù)據(jù)。1、使用銷售數(shù)據(jù)庫的題目按照你的姓名在員工表查詢你的詳細(xì)信息。查詢哪些員工姓名中含有“麗”字,顯示員工姓名和性別。查詢名字第二個字為“麗”,并且名字為兩個字的員工詳細(xì)信息。查詢哪些客戶名稱含有“通”字,并且最后兩個字是“公司”。統(tǒng)計一共有多少種商品。查詢目前商品的庫存總量,也就是所有商品的庫存量之和。查詢某一天的銷售訂單數(shù),具體哪一天自己指定。查詢每個月的銷售訂單數(shù),顯示年月、訂單數(shù),并按訂單數(shù)降序排序。查詢購買了5號商品的客戶編號和訂購總數(shù)量,查詢結(jié)果按照訂購總數(shù)量排列。查詢有多少個客戶購買了5號商品,多次購買的不重復(fù)計數(shù)。查詢每種商品的訂單數(shù)和總銷售數(shù)量。查詢訂單數(shù)量大于3的商品編號。使用stuDB數(shù)據(jù)庫的題目(11道題)【例題5-14】找出哪些學(xué)生不姓“南”?!纠}5-15】查詢哪些課程名含有“數(shù)據(jù)庫_”?!纠}5-16】查詢選修了1號課程的學(xué)生學(xué)號及其成績,查詢結(jié)果按照成績降序排列。【例題5-17】查詢學(xué)生的學(xué)號、姓名、民族、出生日期,查詢結(jié)果按照民族升序排列,同一民族的按照年齡降序排列?!纠}5-18】統(tǒng)計有多少名學(xué)生?!纠}5-19】查詢學(xué)生學(xué)習(xí)所有課程獲得的最高分、最低分和平均分。【例題5-20】查詢有多少學(xué)生選修了課程?!纠}5-21】查詢課程表中有多少門必修課(選修課的開課學(xué)期是空值)?!纠}5-22】查詢每門課程的最高分、最低分和平均分,顯示課程號和相應(yīng)的分?jǐn)?shù)?!纠}5-23】查詢選課人數(shù)大于2人的課程號和選課人數(shù)?!纠}5-24】假設(shè)現(xiàn)在是12月份,學(xué)生會打算給當(dāng)月過生日的同學(xué)準(zhǔn)備個性化的禮物,請查詢12月份各個民族男生和女生分別多少人,并將查詢結(jié)果存入一個新表T_12。三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:實(shí)驗(yàn)6單表查詢2參考答案--(1)查詢哪些員工姓名中含有“麗”字,顯示員工姓名和性別。selectEName,SexfromEmployeeWXMwhereenamelike'%麗%'--(2)查詢名字第二個字為“麗”,并且名字為兩個字的員工詳細(xì)信息。select*fromEmployeeWXMwhereenamelike'_麗'--(3)查詢哪些客戶名稱含有“通”字,并且最后兩個字是“公司”。select*fromCustomerWXMwherecnamelike'%通%公司'--(4)統(tǒng)計一共有多少種商品。selectcount(*)fromproductwxm--(5)查詢目前商品的庫存總量,也就是所有商品的庫存量之和。select*fromproductwxmselectsum(stocknumber)庫存量和fromproductwxm--(6)查詢某一天的銷售訂單數(shù),具體哪一天自己指定。--第一步:將日期型轉(zhuǎn)為字符型,查看有哪些日期,查看日期的格式selectCONVERT(char,Date,102)日期fromorderswxmorderbyCONVERT(char,Date,102)--第二步:統(tǒng)計某一天的訂單數(shù)selectcount(*)訂單數(shù)fromorderswxmwhereCONVERT(char,Date,102)='2024.03.05'--(7)查詢每個月的銷售訂單數(shù),顯示年月、訂單數(shù),并按訂單數(shù)降序排序。select*fromorderswxmselectyear(date)年,month(date)月,count(*)訂單數(shù)fromorderswxmgroupbyyear(date),month(date)orderbycount(*)desc--(8)查詢購買了號商品的客戶編號和訂購總數(shù)量,查詢結(jié)果按照訂購總數(shù)量排列。selectcid,sum(number)訂購總數(shù)量fromorderswxmwherepid=5groupbycidorderbysum(number)--(9)查詢有多少個客戶購買了號商品,多次購買的不重復(fù)計數(shù)。selectcount(distinctcid)客戶數(shù)fromorderswxmwherepid=5select*fromorderswxm--(10)查詢每種商品的訂單數(shù)和總銷售數(shù)量。selectpid,count(*)訂單數(shù),sum(number)總銷售數(shù)量fromorderswxmgroupbypid--(11)查詢訂單數(shù)量大于的商品編號。selectpid,count(*)訂單數(shù)量fromorderswxmgroupbypidhavingcount(*)>3實(shí)驗(yàn)7連接查詢1參考答案(1)請查詢購買了號商品的客戶名稱、客戶地址、訂購時間、訂購數(shù)量。--說明:本題涉及兩張表,先查看兩個表中的列名和數(shù)據(jù)select*fromOrderswxmselect*fromCustomerwxm--連接查詢是將涉及的表都放在FROM后面,關(guān)聯(lián)條件寫在where后面selectCName客戶名稱,Address客戶地址,Date訂購時間,Number訂購數(shù)量fromOrderswxm,CustomerwxmwhereOrderswxm.CID=Customerwxm.CID--訂單表中有10行,查詢結(jié)果就是10行,通過訂單表的客戶編號到客戶表查詢了客戶名稱、地址(2)請查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列。--說明:本題涉及商品表和訂單表,先查看兩個表中的列名和數(shù)據(jù)select*fromProductwxmselect*fromOrderswxm--連接兩張表之后按照商品名稱分組selectPName,SUM(Number)訂貨總數(shù)量fromProductwxm,OrderswxmwhereProductwxm.PID=Orderswxm.PIDgroupbyPNameorderbySUM(Number)desc--訂單表中10行數(shù)據(jù)涉及6種商品,其中5號商品是彩色紙,有5筆交易,5筆交易數(shù)量和是150(3)請查詢訂單情況,顯示訂單編號、訂貨日期、商品名稱、客戶名稱、訂貨數(shù)量。--說明:本題涉及三張表:商品表、客戶表和訂單表select*fromProductwxmselect*fromCustomerwxmselect*fromOrderswxm--from后面三張表,需要兩個連接條件selectID,Date,PName,CName,NumberfromProductwxmp,Customerwxmc,Orderswxmowherep.PID=o.PIDandc.CID=o.CID--三張表連接查詢,訂單表中有10行,查詢結(jié)果就是10行(4)請繼續(xù)查詢訂單情況,顯示訂單編號、訂貨日期、商品名稱、客戶名稱、員工姓名、訂貨數(shù)量。--說明:本題涉及四張表select*fromProductwxmselect*fromCustomerwxmselect*fromEmployeewxmselect*fromOrderswxm--from后面四張表,需要三個連接條件,三個表分別和訂單表連接selectID,Date,PName,CName,EName,NumberfromProductwxmp,Customerwxmc,Orderswxmo,Employeewxmewherep.PID=o.PIDandc.CID=o.CIDande.EID=o.EID--四張表連接查詢,查詢結(jié)果依舊10行,與訂單表中一致,因?yàn)橹蛔鲞B接,沒有篩選條件(5)請查詢所有蕪湖客戶的客戶編號、客戶名稱、聯(lián)系電話、訂單數(shù)量,并按照訂單數(shù)量排序。--說明:本題涉及客戶表和訂單表select*fromCustomerwxmselect*fromOrderswxm--訂單數(shù)量需要用count函數(shù),訂單表中有幾行就是幾個訂單selectOrderswxm.CID,CName,Phone,COUNT(*)fromOrderswxm,CustomerwxmwhereOrderswxm.CID=Customerwxm.CIDgroupbyOrderswxm.CID,CName,Phone--訂單表中10行數(shù)據(jù)只涉及3個客戶,1、2號客戶各有兩筆訂單,3號客戶6筆訂單數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)7連接查詢1-內(nèi)連接實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖炀毷褂肧QL語句編寫各種多表連接查詢語句。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)請使用SQL語句完成如下查詢操作,每個查詢涉及多張表中的數(shù)據(jù)。1、使用銷售數(shù)據(jù)庫的題目(前五題有視頻)請查詢購買了3號商品的客戶名稱、客戶地址、訂購時間、訂購數(shù)量。請查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列。請查詢訂單情況,顯示訂單編號、訂貨日期、商品名稱、客戶名稱、訂貨數(shù)量。請繼續(xù)查詢訂單情況,顯示訂單編號、訂貨日期、商品名稱、客戶名稱、員工姓名、訂貨數(shù)量。請查詢所有蕪湖客戶的客戶編號、客戶名稱、聯(lián)系電話、訂單數(shù)量,并按照訂單數(shù)量排序。請查詢每位員工的訂單數(shù)量,顯示員工編號、員工姓名、訂單數(shù)量,并按照訂單數(shù)量降序排序。請查詢按照你的姓名查詢你處理了哪些訂單,顯示員工姓名、訂貨日期、商品名稱、客戶名稱。查詢單筆訂單訂貨數(shù)量大于500的商品信息,顯示商品名稱、單價、現(xiàn)有庫存量,并按照現(xiàn)有庫存量降序排列。使用stuDB數(shù)據(jù)庫的題目(5道題)【例題1】查詢選修了大數(shù)據(jù)導(dǎo)論課程的學(xué)生學(xué)號及其成績,查詢結(jié)果按照成績降序排列?!纠}2】查詢每門課最高分、最低分和平均分,顯示課程名和相應(yīng)分?jǐn)?shù)。【例題5-25】請查詢選修了2號課程的學(xué)生姓名和成績。(云教材例題6-1)【例題5-26】查詢每門課程的平均分,顯示課程名、平均分。(云教材例題6-2)【例題5-27】請查詢學(xué)生選課情況,顯示學(xué)生姓名、課程名、成績。(云教材例題6-3)驗(yàn)證:如果不寫表之間的連接條件,查詢結(jié)果是多少行?三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:實(shí)驗(yàn)8連接查詢2-外連接參考答案使用stuDB數(shù)據(jù)庫的例題和新題目【例題5-28】請查詢學(xué)生選課情況,顯示學(xué)生姓名、課程號、成績,沒有選課的學(xué)生也要顯示。SELECTName,Cno,GradeFROMStudentLEFTJOINSCONStudent.Sno=SC.Sno查詢每一名學(xué)生的詳細(xì)信息,及其選修的課程號和成績。--說明:查詢學(xué)生的詳細(xì)信息可以把Student表的每一個列名否寫上,也可以用Student.*SELECTStudent.*,Cno,GradeFROMStudentLEFTJOINSCONStudent.Sno=SC.Sno查詢哪些學(xué)生沒有選課,顯示學(xué)號和姓名。--說明:以學(xué)生表為主做外連接,Cno或者SC表中Sno為空的是沒選課的,不應(yīng)該用成績?yōu)榭盏臈l件,為什么?--說明:顯示學(xué)號必須用Student.sno,不能用SC.sno,也不能直接寫sno,為什么?SELECTStudent.sno,NameFROMStudentLEFTJOINSCONStudent.Sno=SC.SnowhereCnoisnull查詢哪些課程沒有學(xué)生選。selectCnamefromCourseleftjoinsconCourse.Cno=SC.CnowhereSnoisnull使用銷售數(shù)據(jù)庫的題目(4道題)請查詢商品銷售情況,顯示商品名稱、訂貨日期、訂貨數(shù)量,沒有訂單的商品也要顯示。請查詢哪些商品沒有訂單,顯示商品編號和商品名稱。請查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列。沒有訂單的商品也要顯示。請查詢所有蕪湖客戶的客戶編號、客戶名稱、聯(lián)系電話、訂單數(shù)量,并按照訂單數(shù)量排序。沒有訂單的客戶也要顯示。--(1)請查詢商品銷售情況,顯示商品名稱、訂貨日期、訂貨數(shù)量,沒有訂單的商品也要顯示。SELECTPName,DATE,NumberFROMProductWXMLEFTJOINOrdersWXMONProductWXM.PID=OrdersWXM.PID--(2)請查詢哪些商品沒有訂單,顯示商品編號和商品名稱。selectp.PID,PNamefromProductWXMpleftjoinOrdersWXMoonp.PID=o.PIDwhereo.CIDisnull--(3)請查詢哪些員工沒有訂單,顯示員工編號和員工姓名。--(4)查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列,--沒有訂單的商品顯示訂貨數(shù)量為0。SELECT*FROMProductWXMSELECT*FROMOrdersWXMselectPName,isnull(SUM(Number),0)fromProductWXMpleftjoinOrdersWXMoonp.PID=o.PIDgroupbyPNameorderbyisnull(SUM(Number),0)desc--一、使用stuDB數(shù)據(jù)庫的例題和新題目(4道題)--【例題5-28】請查詢學(xué)生選課情況,顯示學(xué)生姓名、課程號、成績,沒有選課的學(xué)生也要顯示。--(1) 查詢每一名學(xué)生的詳細(xì)信息,及其選修的課程號和成績。selectStudent.*,cno,gradefromStudentleftjoinsconStudent.Sno=sc.Snoselect*fromStudent--(2) 查詢哪些學(xué)生沒有選課,顯示學(xué)號和姓名。selectStudent.Sno,namefromStudentleftjoinsconStudent.Sno=sc.SnowhereCnoisnull--(3) 查詢哪些課程沒有學(xué)生選。select*fromCourseselect*fromscselectCnamefromCourseleftjoinSConCourse.Cno=sc.CnowhereSnoisnull--二、使用銷售數(shù)據(jù)庫的題目(4道題)--(1) 請查詢商品銷售情況,顯示商品名稱、訂貨日期、訂貨數(shù)量,沒有訂單的商品也要顯示。select*fromOrdersWXMselect*fromProductWXM--外連接selectPName,DATE,NumberfromProductWXMpleftjoinOrdersWXMoonp.PID=o.PID--內(nèi)連接selectPName,DATE,NumberfromProductWXMpinnerjoinOrdersWXMoonp.PID=o.PID--(2) 請查詢哪些商品沒有訂單,顯示商品編號和商品名稱。selectp.PID,PNamefromProductWXMpleftjoinOrdersWXMoonp.PID=o.PIDwhereNumberisnull--(3) 請查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列。--沒有訂單的商品也要顯示。selectPName,sum(Number)fromProductWXMp,OrdersWXM數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)8連接查詢2-外連接實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖炀毷褂肧QL語句編寫各種多表連接查詢語句,掌握外連接的用法和作用。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)1、使用銷售數(shù)據(jù)庫的題目請查詢商品銷售情況,顯示商品名稱、訂貨日期、訂貨數(shù)量,沒有訂單的商品也要顯示。請查詢哪些商品沒有訂單,顯示商品編號和商品名稱。請查詢哪些員工沒有訂單,顯示員工編號和員工姓名。查詢每種商品的訂貨總數(shù)量,顯示商品名稱,訂貨總數(shù)量,并按照訂貨總數(shù)量降序排列,沒有訂單的商品顯示訂貨數(shù)量為0。請查詢所有蕪湖客戶的客戶編號、客戶名稱、聯(lián)系電話、訂單數(shù)量,并按照訂單數(shù)量排序。沒有訂單的客戶也要顯示。查詢訂貨次數(shù)超過兩次的客戶信息,顯示客戶編號、客戶名稱、聯(lián)系電話、訂貨次數(shù)。查詢訂單數(shù)量超過5筆的員工信息,顯示員工編號、員工姓名,工資,訂單數(shù)。提示:可以修改數(shù)據(jù),驗(yàn)證查詢效果。使用stuDB數(shù)據(jù)庫的題目(6道題)(1)例題【例題5-28】查詢學(xué)生選課情況,顯示學(xué)生姓名、課程號、成績,沒有選課的學(xué)生也要顯示。(云教材例題6-4)【例題5-29】沒有學(xué)生選修的課程可能會取消,查詢哪些課程沒有學(xué)生選,顯示課程號和課程名。(云教材例題6-5)【例題5-30】南荷花想認(rèn)識同一民族的同學(xué),請幫她查詢有沒有人和她同一個民族。(云教材例題6-6)(2)新題查詢每一名學(xué)生的詳細(xì)信息,及其選修的課程號和成績。查詢哪些學(xué)生沒有選課,顯示學(xué)號和姓名。查詢哪些課程沒有學(xué)生選。三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:--(1)請用嵌套查詢語句查詢哪些商品沒有訂單,顯示商品編號和商品名稱。select*fromProductWXMselect*fromOrdersWXMselectPID,PNamefromProductWXMwherePIDnotin(selectPIDfromOrdersWXM)--(2)請用嵌套查詢語句查詢處理訂單最多的員工姓名、性別、工資,并給出漢字別名。select*fromEmployeeWXMselect*fromOrdersWXMselectEName,Sex,SalaryfromEmployeeWXMwhereEIDin(selecttop1EIDfromOrdersWXMgroupbyEIDorderbyCOUNT(*)desc)--(3)請用嵌套查詢語句查詢購買了3號商品的客戶編號、客戶名稱、客戶地址、聯(lián)系電話,并按照客戶地址排序。selectCID,CName,Address,PhonefromCustomerWXMwhereCIDin(selectcidfromOrdersWXMwherePID=3)orderbyAddress--(4)請用嵌套查詢語句查詢購買了墨盒的客戶編號、客戶名稱、客戶地址、聯(lián)系電話,并按照客戶地址排序。select*fromCustomerWXMwhereCIDin(selectCIDfromOrdersWXMwherePID=(selectPIDfromProductWXMwherePName='墨盒'))--(5)請用嵌套查詢語句查詢訂單超過三筆的商品編號、商品名稱、單價、庫存量,并按庫存量升序排列。selectPID,PName,Price,StockNumberfromProductWXMwherePIDin(selectPIDfromOrdersWXMgroupbyPIDhavingCOUNT(*)>=3)orderbyStockNumber--(6)請用嵌套查詢語句查詢同時購買了打印紙和墨盒的客戶信息,包括客戶編號、客戶名稱、聯(lián)系電話。select*fromCustomerWXMwhereCIDin(selectCIDfromOrdersWXMwherePID=(selectPIDfromProductWXMwherePName='飲料'))andCIDin(selectCIDfromOrdersWXMwherePID=(selectPIDfromProductWXMwherePName='復(fù)印機(jī)'))數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)9嵌套查詢實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖煜び肧QL語句以編寫連接查詢(內(nèi)連接、外連接)、嵌套查詢的語句。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)1、使用銷售數(shù)據(jù)庫的題目請用嵌套查詢語句查詢哪些商品沒有訂單,顯示商品編號和商品名稱。請用嵌套查詢語句查詢哪些員工沒有訂單,顯示員工編號和員工姓名。請用嵌套查詢語句查詢單筆訂單訂貨數(shù)量大于500的商品信息,顯示商品名稱、單價、現(xiàn)有庫存量,并按照現(xiàn)有庫存量降序排列。請用嵌套查詢語句查詢處理訂單最多的員工姓名、性別、工資,并給出漢字別名。請用嵌套查詢語句查詢購買了3號商品的客戶編號、客戶名稱、客戶地址、聯(lián)系電話,并按照客戶地址排序。請用嵌套查詢語句查詢購買了打印紙的客戶編號、客戶名稱、客戶地址、聯(lián)系電話,并按照客戶地址排序。請用嵌套查詢語句查詢訂單超過三筆的商品編號、商品名稱、單價、庫存量,并按庫存量升序排列。請用嵌套查詢語句查詢同時購買了打印紙和墨盒的客戶信息,包括客戶編號、客戶名稱、聯(lián)系電話。請用嵌套查詢語句查詢購買了打印紙但沒有購買墨盒的客戶信息,包括客戶編號、客戶名稱、聯(lián)系電話。請用嵌套查詢語句查詢單筆訂單訂購數(shù)量排列前十的客戶的客戶編號、客戶姓名、聯(lián)系電話。使用stuDB數(shù)據(jù)庫的題目(6道題)【例題5-31】沒有學(xué)生選修的課程可能會取消,請你查詢哪些課程沒有學(xué)生選,顯示課程號和課程名。要求用嵌套查詢。(云教材例題6-7)【例題5-32】南荷花想認(rèn)識同一民族的同學(xué),請幫她查詢有沒有人和她同一個民族。要求用嵌套查詢實(shí)現(xiàn)。(云教材例題6-8)【例題5-33】查找年齡最小的學(xué)生的姓名、性別和出生日期。(云教材例題6-9)【例題5-34】查詢比平均學(xué)時高的課程的課程號、課程名和學(xué)時。(云教材例題6-10)【例題5-35】查詢選修了數(shù)據(jù)庫課程的學(xué)生的姓名和性別。(云教材例題6-11)【例題5-36】查詢每個學(xué)生超過他自己選修課程的平均成績的課程號。(云教材例題6-12)三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)10多種方式多表查詢實(shí)驗(yàn)日期班級學(xué)號姓名實(shí)驗(yàn)報告要求:1.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容3.實(shí)驗(yàn)步驟4.實(shí)驗(yàn)小結(jié)一、實(shí)驗(yàn)?zāi)康氖煜び肧QL語句編寫集合查詢、基于派生表、連接查詢、嵌套查詢等多表查詢語句。實(shí)驗(yàn)內(nèi)容銷售數(shù)據(jù)庫中有四張表:員工表、商品表、客戶表和訂單表。表結(jié)構(gòu)如表2-4~表2-7所示:表2-4員工表表名:Employee+你的姓名簡拼字段名稱類型寬度約束字段說明EIDintnotnull主鍵員工號ENamevarchar(50)notnull員工姓名Sexchar(2)notnull,約束為‘男’或‘女’性別HireDatesmalldatetime
聘任日期Salarymoney
工資表2-5商品表表名:Product+你的姓名簡拼字段名稱類型寬度約束字段說明PIDintnotnull主鍵商品編號PNamevarchar(50)notnull商品名稱PriceDecimal(8,2)單價StockNumberint
現(xiàn)有庫存量SellNumberint
已銷售數(shù)量表2-6客戶表表名:Customer+你的姓名簡拼字段名稱類型寬度約束字段說明CIDintnotnull主鍵客戶編號CNamevarchar(50)notnull客戶名稱,唯一Phonevarchar(20)聯(lián)系電話Addressvarchar(100)客戶地址Emailvarchar(50)客戶Email表2-7訂單表表名:Orders+你的姓名簡拼字段名稱類型寬度約束字段說明IDintnotnull主鍵訂單編號EIDint來自員工表的外鍵員工號PIDint來自商品表的外鍵商品編號CIDint來自客戶表的外鍵客戶編號Numberint訂貨數(shù)量Datesmalldatetime訂貨日期,默認(rèn)當(dāng)前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表>[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當(dāng)前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)1、使用銷售數(shù)據(jù)庫的題目(1)請查詢同時購買了打印紙和墨盒的客戶信息,包括客戶編號、客戶名稱、聯(lián)系電話。(集合、嵌套、連接)(2)請查詢購買了打印紙,但沒有購買墨盒的客戶信息,包括客戶編號、客戶名稱、聯(lián)系電話。(集合、嵌套)(3)查詢哪些客戶沒有購買任何商品,顯示客戶編號、客戶名稱、聯(lián)系電話。(集合、嵌套、外連接)(4)查詢庫存量低于600的商品訂貨信息,包括商品編號、商品名稱、訂貨時間、訂貨數(shù)量,庫存數(shù)量,并按照庫存數(shù)量、商品編號排序。(連接、基于派生表)(5)查詢某月(自己指定)訂貨超過兩次的商品編號、商品名稱、庫存數(shù)量,并按照庫存數(shù)量降序排列。(連接、基于派生表)(6)請統(tǒng)計每月銷售報表,顯示年月、訂單數(shù)量、訂單總金額(訂單金額=商品單價×訂貨數(shù)量),并按照年月升序、訂單數(shù)量降序排列。(連接、基于派生表)使用stuDB數(shù)據(jù)庫的題目(6道題)【例題5-37】查詢哪些學(xué)生同時選修了“大數(shù)據(jù)導(dǎo)論”和“數(shù)據(jù)庫”課程,顯示出學(xué)生的學(xué)號。(云教材例題6-13)【例題5-38】查詢哪些學(xué)生選修了“大數(shù)據(jù)導(dǎo)論”但沒有選修“數(shù)據(jù)庫”課程,顯示出學(xué)生的學(xué)號。(云教材例題6-14)【例題5-39】查詢選修了“大數(shù)據(jù)導(dǎo)論”或者“數(shù)據(jù)庫”的學(xué)生學(xué)號。(云教材例題6-15)【例題5-40】查找年齡最小的學(xué)生的姓名、性別和出生日期,請用基于派生表的查詢實(shí)現(xiàn)。(云教材例題6-16)【例題5-36】查詢每個學(xué)生超過他自己選修課程的平均成績的課程號,請用基于派生表的查詢實(shí)現(xiàn)。(云教材例題6-12)【例題5-34】查詢比平均學(xué)時高的課程的課程號、課程名和學(xué)時。請用基于派生表的查詢實(shí)現(xiàn)。(云教材例題6-10)三、實(shí)驗(yàn)步驟(請粘貼全部SQL語句,并截取幾張運(yùn)行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實(shí)驗(yàn)小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實(shí)驗(yàn)報告實(shí)驗(yàn)名稱實(shí)驗(yàn)11視圖的使用實(shí)驗(yàn)日期班級學(xué)號姓
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版離婚協(xié)議書模板定制服務(wù)合同3篇
- 專業(yè)培訓(xùn)服務(wù)協(xié)議模板2024年版版B版
- 2025年度家居裝飾用玻璃瓶定制銷售合同3篇
- 2024房產(chǎn)交易居間協(xié)議模板版A版
- 2025年廁所革命項(xiàng)目節(jié)能評估合同3篇
- 2024新能源電動汽車充電設(shè)施運(yùn)營合同
- 2024幼兒園員工勞動合同與員工手冊融合指導(dǎo)3篇
- 2024年餐飲服務(wù)員聘用標(biāo)準(zhǔn)協(xié)議范本版
- 2024新媒體內(nèi)容版權(quán)保護(hù)與侵權(quán)責(zé)任協(xié)議2篇
- 票證防偽知識培訓(xùn)課件
- 2025社保政策培訓(xùn)
- 2024年單位司機(jī)個人工作總結(jié)(6篇)
- 幼兒園幼教集團(tuán)2025學(xué)年第二學(xué)期工作計劃
- 【9物(北師)期末】阜陽市臨泉縣2023-2024學(xué)年九年級上學(xué)期期末考試物理試題
- 2024年考研管理類綜合能力(199)真題及解析完整版
- 眼鏡銷售儀容儀表培訓(xùn)
- “兩高”發(fā)布《關(guān)于辦理拒不執(zhí)行判決、裁定刑事案件適用法律若干問題的解釋》(新舊對照表)
- 醫(yī)生或醫(yī)技崗位招聘面試題與參考回答(某大型國企)2024年
- 2024國考:公司座談提綱2024
- 2024年掃地機(jī)器人市場動態(tài)及行業(yè)發(fā)展分析
- 藝術(shù)學(xué)概論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論