版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫實驗報告實驗名稱實驗1SSMS圖形界面創(chuàng)建數(shù)據(jù)庫和學生表實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟悉MicrosoftSQLServerManagementStudio(簡稱SSMS)平臺的操作。能夠在圖形化界面創(chuàng)建和維護數(shù)據(jù)庫,建立對數(shù)據(jù)庫的感性認識。能夠在圖形化界面創(chuàng)建表,進行數(shù)據(jù)的增、刪、改、查。能夠在圖形化界面分離數(shù)據(jù)庫。實驗內(nèi)容按照要求完成如下操作。如果有不會的操作,可以掃描書上二維碼看操作演示視頻。在SSMS平臺創(chuàng)建數(shù)據(jù)庫,命名為stu+姓名簡拼,存在C盤根目錄。(視頻1創(chuàng)建數(shù)據(jù)庫)打開新創(chuàng)建的數(shù)據(jù)庫,創(chuàng)建一個學生表,表名也加上自己姓名的簡拼,命名為:Student+姓名簡拼,加主鍵、非空約束、檢查約束和默認值。表結(jié)構(gòu)如表2-4所示。(視頻2建student表-主鍵、非空、默認值、檢查約束)表2-4學生表列名數(shù)據(jù)類型寬度為空性說明Snointnotnull學號,主鍵Snamevarchar8notnull姓名Ssexchar2性別,限制只能輸入“男”和“女”Sagesmallint年齡Sdeptvarchar4所在系,默認“CS”增加、修改數(shù)據(jù)(在表名上單擊右鍵,選擇【編輯前200行】)。錄入正確的數(shù)據(jù),也錄入錯誤的數(shù)據(jù)檢驗主鍵、非空約束、默認值和外鍵的作用,看懂錯誤提示之后,修改為正確數(shù)據(jù)存入,數(shù)據(jù)如表2-5所示。最后再增加一行你自己的姓名、性別、年齡等信息。表2-5學生表數(shù)據(jù)SnoSnameSsexSageSdept說明200215121200215122200215123200515125200215126200215122李勇劉晨王敏張立蕭山李世民男女女男F男20191819CSMAIS正確數(shù)據(jù)正確數(shù)據(jù),Sdept默認CS正確數(shù)據(jù)正確數(shù)據(jù)錯誤數(shù)據(jù),性別錯錯誤數(shù)據(jù),學號重復說明:CS計算機科學系,MA數(shù)學系,IS信息系分離數(shù)據(jù)庫。(視頻3分離附加數(shù)據(jù)庫)截圖填寫實驗報告,交作業(yè)包括三個文檔:實驗報告、數(shù)據(jù)文件和日志文件。并在實驗小結(jié)中回答思考題。三、實驗步驟(粘貼幾張運行結(jié)果截圖,截圖上必須能看到你的姓名簡拼)四、實驗小結(jié)思考題:字段設(shè)置為NotNull是什么意思,在錄入數(shù)據(jù)時有什么影響。例如student表中的學生姓名設(shè)置為NotNull,在錄入數(shù)據(jù)的時候是否可以不錄入學生姓名。性別列的檢查約束的作用是什么。所在系默認值的效果是什么?如果不分離數(shù)據(jù)庫,能否拷貝數(shù)據(jù)庫文件。成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗2SSMS圖形界面管理數(shù)據(jù)庫和課程表、成績表實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟悉MicrosoftSQLServerManagementStudio(簡稱SSMS)平臺的操作。能夠在圖形化界面創(chuàng)建和維護數(shù)據(jù)庫,建立對數(shù)據(jù)庫的感性認識。能夠在圖形化界面創(chuàng)建表,進行數(shù)據(jù)的增、刪、改、查。能夠理解各種約束的作用。能夠在圖形化界面分離和附加數(shù)據(jù)庫。實驗內(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學分表2-7SC+姓名簡拼列名數(shù)據(jù)類型寬度為空性說明Snointnotnull學號,聯(lián)合主鍵,外鍵Cnointnotnull課程號,聯(lián)合主鍵,外鍵Gradeint成績增加、修改數(shù)據(jù)(在表名上單擊右鍵,選擇【編輯前200行】)。(1.3插入、修改、刪除數(shù)據(jù)、1.4查詢數(shù)據(jù))錄入正確的數(shù)據(jù),也錄入錯誤的數(shù)據(jù),檢驗主鍵、聯(lián)合主鍵、非空約束和外鍵的作用,看懂錯誤提示之后,修改為正確數(shù)據(jù)存入,數(shù)據(jù)如表2-8和表2-9所示。2-8課程表數(shù)據(jù)CnoCnameCpnoCcredit說明12345668數(shù)據(jù)庫數(shù)學信息系統(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ù),課程號重復錯誤數(shù)據(jù),課程名不可以空表2-9成績表數(shù)據(jù)SnoCnoGrade說明2002151212002151212002151212002151222002151211232292908099正確數(shù)據(jù)正確數(shù)據(jù),成績可以空正確數(shù)據(jù)錯誤數(shù)據(jù),學號不可以空錯誤數(shù)據(jù),課程號不可以空錯誤數(shù)據(jù),主鍵沖突修改表結(jié)構(gòu)。在課程表增加一列存課程學時hourint。注意:修改表結(jié)構(gòu)后一定要保存修改。查詢數(shù)據(jù)(表名上單擊右鍵,選擇【選擇前1000行】),查看表結(jié)構(gòu)變化。(1.4查詢數(shù)據(jù))分離數(shù)據(jù)庫。(1.1.5分離數(shù)據(jù)庫)截圖填寫實驗報告,交作業(yè)包括三個文檔:實驗報告、數(shù)據(jù)文件和日志文件。三、實驗步驟(粘貼幾張運行結(jié)果截圖,截圖上必須能看到你的姓名簡拼)四、實驗小結(jié)思考題:主鍵約束的效果是什么,學生表、課程表上的主鍵和成績表上的聯(lián)合主鍵效果有什么不同。習題解析第1章習題解析第1章成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗3數(shù)據(jù)定義實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的能夠熟練使用SQL語句創(chuàng)建、修改和刪除數(shù)據(jù)庫。能夠熟練使用SQL語句創(chuàng)建、修改和刪除表。能夠熟練使用SQL語句創(chuàng)建和維護表中約束。實驗內(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訂貨日期,默認當前日期在你的數(shù)據(jù)庫名字上右擊,在彈出菜單中選擇【刷新】命令,在【表】中查看你創(chuàng)建的四張表。使用SQL語句刪除員工表,查看語句運行效果。三、實驗步驟(粘貼幾張運行結(jié)果截圖,截圖上能看到數(shù)據(jù)庫名、表名和表的結(jié)構(gòu))四、實驗小結(jié)思考題:說一說四個表之間的聯(lián)系是如何體現(xiàn)的。建表時是否有順序的要求,哪個表必須最后創(chuàng)建。刪除表時是否有順序要求。成績優(yōu)良中及格不及格教師簽名:日期:----《初識數(shù)據(jù)庫》實驗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()) --訂貨日期,默認當前日期)數(shù)據(jù)庫實驗報告實驗名稱實驗4數(shù)據(jù)更新實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟練使用SQL語句進行數(shù)據(jù)的增、刪、改操作。通過不同的數(shù)據(jù)檢驗約束的效果,進一步理解完整性約束的作用。實驗內(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訂貨日期,默認當前日期請使用SQL語句完成如下操作。將你和你的同組同學作為公司員工錄入到員工表中,第一行錄入你自己的信息,再錄入至少兩位同組同學的信息。提示:int型和money型數(shù)據(jù)直接寫數(shù)字,不加引號,字符型和日期型數(shù)據(jù)要加單引號,例如日期型可寫為'2024-4-23'的格式;自己設(shè)計數(shù)據(jù)驗證主鍵、非空和檢查約束的效果。公司新進打印紙和墨盒,各進貨100件,其中打印紙定價5元,墨盒定價21.5元,請用SQL語句完成商品信息入庫操作。構(gòu)件廠是公司的一個客戶,該客戶想要購買10件打印紙,如果由你來接待這個客戶,請你先溝通了解客戶的信息,將信息記錄到客戶表中,然后生成銷售訂單,將打印紙的商品編號、客戶編號、你的員工編號和銷售數(shù)量等信息記錄在訂單表中。打印紙賣出了10件,不僅需要在訂單表中記載,也需要更新商品表中該商品的現(xiàn)有庫存量和已銷售數(shù)量,請你修改表中數(shù)據(jù),將打印紙的現(xiàn)有庫存量減少10,已銷售數(shù)量增加10。提示:銷售商品既需要插入操作,也需要更新操作,涉及兩張表。請你再進貨幾件商品,增加幾個客戶,進行信息入戶操作和相應(yīng)銷售操作。有一名員工離職了,請你在員工表中將該員工刪除。有的商品不再供貨,需要在商品表中刪除,請你選擇一個未銷售過的商品和一個已經(jīng)有銷售訂單的商品分別刪除,比較效果有什么不同。三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)思考題:刪除主鍵表數(shù)據(jù)會受外鍵表上的外鍵制約,不同的數(shù)據(jù)選擇不同的處理方式,請你說說刪除員工、商品和客戶信息分別應(yīng)該怎么處理。成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗5單表查詢(一)實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟練使用SQL語句完成選擇、投影等單表查詢語句。熟悉常見日期函數(shù)、字符串函數(shù)的使用方法。實驗內(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訂貨日期,默認當前日期查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當前時間,year()取日期中的年字符串函數(shù):left(,n)請使用SQL語句完成如下查詢操作,每個查詢只涉及一張表中的數(shù)據(jù)。1、使用銷售數(shù)據(jù)庫的題目查詢所有客戶的詳細信息。查詢所有客戶的客戶編號、客戶姓名、電話。查詢所有員工的姓名及入職年限(使用日期函數(shù))。查詢員工入職年份分布在哪幾年,不顯示重復值(使用日期函數(shù))。查詢價格在100~300元之間的商品的編號、名稱和價格。查詢商品編號為1、3、5、7、9的商品的詳細信息。查詢哪些客戶沒有填寫地址和Email。查詢價格最高的前十個商品的編號、名稱和價格。查詢客戶分布在哪幾個城市(地址前三個字表示城市)。查詢姓名第二個字是“恒”的客戶,顯示客戶名稱和電話的漢字別名。使用stuDB數(shù)據(jù)庫的題目(6道題)【例題5-1】查詢?nèi)w學生的姓名和民族。【例題5-2】查詢?nèi)w學生的姓名、民族和性別?!纠}5-3】查詢?nèi)w學生的詳細信息?!纠}5-4】查詢學生的姓名及年齡?!纠}5-5】查詢學生分布在哪些民族?!纠}5-6】查詢課程表中前兩門課程的詳細信息?!纠}5-7】查詢哪些學生是少數(shù)民族,顯示學生姓名和民族?!纠}5-8】查詢年齡在19~21歲(包括19和21歲)之間的學生的學號、姓名、出生日期?!纠}5-9】查詢民族為“漢族”或者“滿族”的學生詳細信息?!纠}5-10】查詢哪些學生選課了還沒有考試成績,顯示學號,課程號?!纠}5-11】查詢哪些學生姓名中含有“南”字?!纠}5-12】查詢名字中第二個字為“南”,并且名字為兩個字的學生的詳細信息?!纠}5-13】找出所有姓“張”和姓“江”的員工信息。三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗6單表查詢(二)實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟練使用SQL語句完成選擇、投影、排序等單表查詢語句。熟悉常見聚合函數(shù)的使用方法,能夠進行分組統(tǒng)計。實驗內(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訂貨日期,默認當前日期查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒng)當前時間,year()取日期中的年,month()取日期中的月,day()取日期中的日字符串函數(shù):left(字符串,n)請使用SQL語句完成如下查詢操作,每個查詢只涉及一張表中的數(shù)據(jù)。1、使用銷售數(shù)據(jù)庫的題目按照你的姓名在員工表查詢你的詳細信息。查詢哪些員工姓名中含有“麗”字,顯示員工姓名和性別。查詢名字第二個字為“麗”,并且名字為兩個字的員工詳細信息。查詢哪些客戶名稱含有“通”字,并且最后兩個字是“公司”。統(tǒng)計一共有多少種商品。查詢目前商品的庫存總量,也就是所有商品的庫存量之和。查詢某一天的銷售訂單數(shù),具體哪一天自己指定。查詢每個月的銷售訂單數(shù),顯示年月、訂單數(shù),并按訂單數(shù)降序排序。查詢購買了5號商品的客戶編號和訂購總數(shù)量,查詢結(jié)果按照訂購總數(shù)量排列。查詢有多少個客戶購買了5號商品,多次購買的不重復計數(shù)。查詢每種商品的訂單數(shù)和總銷售數(shù)量。查詢訂單數(shù)量大于3的商品編號。使用stuDB數(shù)據(jù)庫的題目(11道題)【例題5-14】找出哪些學生不姓“南”?!纠}5-15】查詢哪些課程名含有“數(shù)據(jù)庫_”?!纠}5-16】查詢選修了1號課程的學生學號及其成績,查詢結(jié)果按照成績降序排列?!纠}5-17】查詢學生的學號、姓名、民族、出生日期,查詢結(jié)果按照民族升序排列,同一民族的按照年齡降序排列。【例題5-18】統(tǒng)計有多少名學生?!纠}5-19】查詢學生學習所有課程獲得的最高分、最低分和平均分?!纠}5-20】查詢有多少學生選修了課程?!纠}5-21】查詢課程表中有多少門必修課(選修課的開課學期是空值)?!纠}5-22】查詢每門課程的最高分、最低分和平均分,顯示課程號和相應(yīng)的分數(shù)?!纠}5-23】查詢選課人數(shù)大于2人的課程號和選課人數(shù)?!纠}5-24】假設(shè)現(xiàn)在是12月份,學生會打算給當月過生日的同學準備個性化的禮物,請查詢12月份各個民族男生和女生分別多少人,并將查詢結(jié)果存入一個新表T_12。三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:實驗6單表查詢2參考答案--(1)查詢哪些員工姓名中含有“麗”字,顯示員工姓名和性別。selectEName,SexfromEmployeeWXMwhereenamelike'%麗%'--(2)查詢名字第二個字為“麗”,并且名字為兩個字的員工詳細信息。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)查詢有多少個客戶購買了號商品,多次購買的不重復計數(shù)。selectcount(distinctcid)客戶數(shù)fromorderswxmwherepid=5select*fromorderswxm--(10)查詢每種商品的訂單數(shù)和總銷售數(shù)量。selectpid,count(*)訂單數(shù),sum(number)總銷售數(shù)量fromorderswxmgroupbypid--(11)查詢訂單數(shù)量大于的商品編號。selectpid,count(*)訂單數(shù)量fromorderswxmgroupbypidhavingcount(*)>3實驗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行,與訂單表中一致,因為只做連接,沒有篩選條件(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ù)庫實驗報告實驗名稱實驗7連接查詢1-內(nèi)連接實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟練使用SQL語句編寫各種多表連接查詢語句。實驗內(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訂貨日期,默認當前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒ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ù)導論課程的學生學號及其成績,查詢結(jié)果按照成績降序排列。【例題2】查詢每門課最高分、最低分和平均分,顯示課程名和相應(yīng)分數(shù)?!纠}5-25】請查詢選修了2號課程的學生姓名和成績。(云教材例題6-1)【例題5-26】查詢每門課程的平均分,顯示課程名、平均分。(云教材例題6-2)【例題5-27】請查詢學生選課情況,顯示學生姓名、課程名、成績。(云教材例題6-3)驗證:如果不寫表之間的連接條件,查詢結(jié)果是多少行?三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:實驗8連接查詢2-外連接參考答案使用stuDB數(shù)據(jù)庫的例題和新題目【例題5-28】請查詢學生選課情況,顯示學生姓名、課程號、成績,沒有選課的學生也要顯示。SELECTName,Cno,GradeFROMStudentLEFTJOINSCONStudent.Sno=SC.Sno查詢每一名學生的詳細信息,及其選修的課程號和成績。--說明:查詢學生的詳細信息可以把Student表的每一個列名否寫上,也可以用Student.*SELECTStudent.*,Cno,GradeFROMStudentLEFTJOINSCONStudent.Sno=SC.Sno查詢哪些學生沒有選課,顯示學號和姓名。--說明:以學生表為主做外連接,Cno或者SC表中Sno為空的是沒選課的,不應(yīng)該用成績?yōu)榭盏臈l件,為什么?--說明:顯示學號必須用Student.sno,不能用SC.sno,也不能直接寫sno,為什么?SELECTStudent.sno,NameFROMStudentLEFTJOINSCONStudent.Sno=SC.SnowhereCnoisnull查詢哪些課程沒有學生選。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】請查詢學生選課情況,顯示學生姓名、課程號、成績,沒有選課的學生也要顯示。--(1) 查詢每一名學生的詳細信息,及其選修的課程號和成績。selectStudent.*,cno,gradefromStudentleftjoinsconStudent.Sno=sc.Snoselect*fromStudent--(2) 查詢哪些學生沒有選課,顯示學號和姓名。selectStudent.Sno,namefromStudentleftjoinsconStudent.Sno=sc.SnowhereCnoisnull--(3) 查詢哪些課程沒有學生選。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ù)庫實驗報告實驗名稱實驗8連接查詢2-外連接實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟練使用SQL語句編寫各種多表連接查詢語句,掌握外連接的用法和作用。實驗內(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訂貨日期,默認當前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒ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ù),驗證查詢效果。使用stuDB數(shù)據(jù)庫的題目(6道題)(1)例題【例題5-28】查詢學生選課情況,顯示學生姓名、課程號、成績,沒有選課的學生也要顯示。(云教材例題6-4)【例題5-29】沒有學生選修的課程可能會取消,查詢哪些課程沒有學生選,顯示課程號和課程名。(云教材例題6-5)【例題5-30】南荷花想認識同一民族的同學,請幫她查詢有沒有人和她同一個民族。(云教材例題6-6)(2)新題查詢每一名學生的詳細信息,及其選修的課程號和成績。查詢哪些學生沒有選課,顯示學號和姓名。查詢哪些課程沒有學生選。三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(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='復印機'))數(shù)據(jù)庫實驗報告實驗名稱實驗9嵌套查詢實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟悉用SQL語句以編寫連接查詢(內(nèi)連接、外連接)、嵌套查詢的語句。實驗內(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訂貨日期,默認當前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒ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】沒有學生選修的課程可能會取消,請你查詢哪些課程沒有學生選,顯示課程號和課程名。要求用嵌套查詢。(云教材例題6-7)【例題5-32】南荷花想認識同一民族的同學,請幫她查詢有沒有人和她同一個民族。要求用嵌套查詢實現(xiàn)。(云教材例題6-8)【例題5-33】查找年齡最小的學生的姓名、性別和出生日期。(云教材例題6-9)【例題5-34】查詢比平均學時高的課程的課程號、課程名和學時。(云教材例題6-10)【例題5-35】查詢選修了數(shù)據(jù)庫課程的學生的姓名和性別。(云教材例題6-11)【例題5-36】查詢每個學生超過他自己選修課程的平均成績的課程號。(云教材例題6-12)三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗10多種方式多表查詢實驗日期班級學號姓名實驗報告要求:1.實驗目的2.實驗內(nèi)容3.實驗步驟4.實驗小結(jié)一、實驗目的熟悉用SQL語句編寫集合查詢、基于派生表、連接查詢、嵌套查詢等多表查詢語句。實驗內(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訂貨日期,默認當前日期四個表之間的聯(lián)系如圖2-5所示:圖2-5銷售數(shù)據(jù)庫四個表之間的聯(lián)系說明:員工表、商品表、客戶表三個表之間沒有任何聯(lián)系,各自管理單一的數(shù)據(jù)。三張表分別與訂單表關(guān)聯(lián)。在訂單表中記載哪位員工賣出了哪種商品,賣給了哪個客戶,以及賣出的數(shù)量和時間。查詢語句格式SELECT[ALL|DISTINCT][TOPn|PERCENT]<目標列表達式>[,<目標列表達式>]…FROM<表>[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];日期函數(shù):getdate()取系統(tǒ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】查詢哪些學生同時選修了“大數(shù)據(jù)導論”和“數(shù)據(jù)庫”課程,顯示出學生的學號。(云教材例題6-13)【例題5-38】查詢哪些學生選修了“大數(shù)據(jù)導論”但沒有選修“數(shù)據(jù)庫”課程,顯示出學生的學號。(云教材例題6-14)【例題5-39】查詢選修了“大數(shù)據(jù)導論”或者“數(shù)據(jù)庫”的學生學號。(云教材例題6-15)【例題5-40】查找年齡最小的學生的姓名、性別和出生日期,請用基于派生表的查詢實現(xiàn)。(云教材例題6-16)【例題5-36】查詢每個學生超過他自己選修課程的平均成績的課程號,請用基于派生表的查詢實現(xiàn)。(云教材例題6-12)【例題5-34】查詢比平均學時高的課程的課程號、課程名和學時。請用基于派生表的查詢實現(xiàn)。(云教材例題6-10)三、實驗步驟(請粘貼全部SQL語句,并截取幾張運行截圖,截圖上能看到數(shù)據(jù)庫名、表名和表中數(shù)據(jù))四、實驗小結(jié)(你的收獲和存在的問題)成績優(yōu)良中及格不及格教師簽名:日期:數(shù)據(jù)庫實驗報告實驗名稱實驗11視圖的使用實驗日期班級學號姓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國大型振動試驗機行業(yè)市場分析報告
- 2024-2030年中國即時通訊(im)行業(yè)競爭格局及投資創(chuàng)新模式分析報告
- 眉山職業(yè)技術(shù)學院《電子商務(wù)概論》2023-2024學年第一學期期末試卷
- 2024年度食品代加工與產(chǎn)品質(zhì)量追溯協(xié)議3篇
- 2024年標準化物業(yè)租賃協(xié)議模板匯編版B版
- 2024年物聯(lián)網(wǎng)農(nóng)業(yè)技術(shù)開發(fā)與合作合同
- 2024年標準股權(quán)轉(zhuǎn)讓協(xié)議一
- 馬鞍山師范高等??茖W?!冬F(xiàn)場節(jié)目主持實踐》2023-2024學年第一學期期末試卷
- 2024年城市綜合體土地房屋股權(quán)轉(zhuǎn)讓與建設(shè)合同范本3篇
- 2024年度特色民宿商品房承包銷售合同3篇
- YY/T 0471.4-2004接觸性創(chuàng)面敷料試驗方法 第4部分:舒適性
- YY/T 0251-1997微量青霉素試驗方法
- YC/T 559-2018煙草特征性成分生物堿的測定氣相色譜-質(zhì)譜聯(lián)用法和氣相色譜-串聯(lián)質(zhì)譜法
- GB/T 29309-2012電工電子產(chǎn)品加速應(yīng)力試驗規(guī)程高加速壽命試驗導則
- 齊魯工業(yè)大學信息管理學成考復習資料
- 公務(wù)員面試-自我認知與職位匹配課件
- 中頻電治療儀操作培訓課件
- 柔弱的人課文課件
- 動物寄生蟲病學課件
- 電梯曳引系統(tǒng)設(shè)計-畢業(yè)設(shè)計
- 三度房室傳導阻滯護理查房課件
評論
0/150
提交評論