




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-數(shù)據(jù)庫原理與應(yīng)用課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四 查詢設(shè)計(jì)實(shí)驗(yàn)所在院(系): 班級(jí): 學(xué)號(hào): 姓名: 1.實(shí)驗(yàn)?zāi)康?1) 了解查詢的目的,掌握SELECT語句的基本語法和查詢條件的表示方法。(2) 掌握數(shù)據(jù)排序和數(shù)據(jù)聯(lián)接查詢的方法。(3) 掌握SQL Server查詢分析器的使用方法。2.實(shí)驗(yàn)要求(1) 針對 “TM”數(shù)據(jù)庫,在SQL Server查詢分析器中,用T-SQL語句實(shí)現(xiàn)以下單表查詢操作,并將將調(diào)試成功的T-SQL命令,填入實(shí)驗(yàn)報(bào)告中。a) 查詢所有課程的詳細(xì)情況。b) 查詢來自江蘇或山東的學(xué)生學(xué)號(hào)和姓名,并以中文名稱顯示輸出的列名。c) 查詢選修了課程的學(xué)生學(xué)號(hào)(一人選了多門課程的話,學(xué)號(hào)只顯示一次)。d) 查詢選修課程號(hào)為07253001的學(xué)號(hào)和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號(hào)升序排列。e) 查詢所有學(xué)生的學(xué)號(hào)、姓名和年齡。f) 查詢選修課程號(hào)為07253001的成績在85-95之間的學(xué)生學(xué)號(hào)和成績,并將成績乘以0.7輸出。g) 查詢數(shù)學(xué)與信息技術(shù)學(xué)院(DEPT_ID為07)或物理與電子工程學(xué)院(DEPT_ID為09)姓張的學(xué)生的信息。h) 查詢所有核心課程(課程名中帶*的)的情況。i) 查詢?nèi)鄙倭顺煽兊膶W(xué)生的學(xué)號(hào)和課程號(hào),查詢結(jié)果按課程號(hào)升序排列。(2) 在SQL Server查詢分析器中,用T-SQL語句實(shí)現(xiàn)下列數(shù)據(jù)聯(lián)接查詢操作:a) 查詢每個(gè)學(xué)生的情況以及他(她)所選修的課程。b) 查詢學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績。c) 查詢選修C語言程序設(shè)計(jì)且成績?yōu)?5分以上的學(xué)生學(xué)號(hào)、姓名及成績。d) 查詢和學(xué)生柏文楠是同一個(gè)民族的學(xué)生(用自身聯(lián)接實(shí)現(xiàn))。e) 分別用等值聯(lián)接和內(nèi)聯(lián)接查詢有授課記錄的老師的姓名。f) 用外聯(lián)接查詢所有老師的授課情況,輸出老師的工號(hào)、姓名、職稱、院系、擔(dān)任的課程號(hào)和授課的學(xué)期,結(jié)果按院系和職稱升序排列。如果該老師沒有授課歷史,在課程號(hào)和授課的學(xué)期中顯示空值(3) 在SQL Server Management Studio中新建查詢,完成以上查詢命令的同時(shí),熟悉SQL編輯器工具欄中各快捷按鈕的作用。(4) 按要求完成實(shí)驗(yàn)報(bào)告。 3.實(shí)驗(yàn)步驟、結(jié)果和總結(jié)實(shí)驗(yàn)步驟/結(jié)果將調(diào)試成功的T-SQL語句寫在下方(標(biāo)明題號(hào))。1、 針對 “TM”數(shù)據(jù)庫,在SQL Server查詢分析器中,用T-SQL語句實(shí)現(xiàn)以下單表查詢操作,并將將調(diào)試成功的T-SQL命令,填入實(shí)驗(yàn)報(bào)告中。(a)查詢所有課程的詳細(xì)情況: select * from Course表1-a (b)查詢來自江蘇或山東的學(xué)生學(xué)號(hào)和姓名,并以中文名稱顯示輸出的列名。 SELECT S_ID as 學(xué)號(hào),S_Name as 姓名FROM STUDENT WHERE Birth_Place=江蘇 or Birth_Place=山東表1-b(c)查詢選修了課程的學(xué)生學(xué)號(hào)(一人選了多門課程的話,學(xué)號(hào)只顯示一次)。select distinct S_ID from sc 表1-c(d)查詢選修課程號(hào)為07253001的學(xué)號(hào)和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號(hào)升序排列。 select S_ID,EXAM_Grade from sc where C_ID=07253001order by EXAM_Grade desc,S_ID asc表1-d(e)查詢所有學(xué)生的學(xué)號(hào)、姓名和年齡。 SELECT S_ID,S_NAME, year(getdate()-year(Date_of_Birth) as 年齡 FROM Student表1-e(f)查詢選修課程號(hào)為07253001的成績在85-95之間的學(xué)生學(xué)號(hào)和成績,并將成績乘以0.7輸出。 Select S_ID,EXAM_Grade*0.7 as grade from SCwhere C_ID=07253001and EXAM_Grade between 85 and 95表1-f(g)查詢數(shù)學(xué)與信息技術(shù)學(xué)院(DEPT_ID為07)或物理與電子工程學(xué)院(DEPT_ID為09)姓張的學(xué)生的信息。select *from Student where DEPT_ID in (07, 09) and S_Name like 張%表1-g(h)查詢所有核心課程(課程名中帶*的)的情況。SELECT * FROM Course WHERE C_Name like %*%表1-h(i)查詢?nèi)鄙倭顺煽兊膶W(xué)生的學(xué)號(hào)和課程號(hào),查詢結(jié)果按課程號(hào)升序排列。 select S_ID,C_ID from SC where EXAM_Grade IS NULLorder by C_ID 表1-i2、 在SQL Server查詢分析器中,用T-SQL語句實(shí)現(xiàn)下列數(shù)據(jù)聯(lián)接查詢操作:(a)查詢每個(gè)學(xué)生的情況以及他(她)所選修的課程。 Select Student.S_ID, S_Name,Gender, Birth_Place,DEPT_ID, Class_ID, Course.C_name from Student join SC on Student.S_ID=SC.S_ID join Course on Course.C_ID=SC.C_ID表2-a(b)查詢學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績。select Student.S_ID, S_Name,C_Name, EXAM_Grade from Student inner join SC on Student.S_ID=SC.S_ID inner join Course on SC.C_ID=Course.C_ID 表2-b(c)查詢選修C語言程序設(shè)計(jì)且成績?yōu)?5分以上的學(xué)生學(xué)號(hào)、姓名及成績。 Select Student.S_ID,S_NAME,EXAM_Grade from Student,SC,Course where Student.S_ID=SC.S_ID and Course.C_ID=SC.C_ID and C_Name=C語言程序設(shè) 計(jì) and EXAM_Grade=85表2-c(d)查詢和學(xué)生柏文楠是同一個(gè)民族的學(xué)生(用自身聯(lián)接實(shí)現(xiàn))。 SELECT S_Name from Studentwhere Nationality=(select Nationality from Student where S_Name=柏文楠)表2-d(e)分別用等值聯(lián)接和內(nèi)聯(lián)接查詢有授課記錄的老師的姓名。-l 等值聯(lián)接select DISTINCT T_Name from Teacher inner join TC on Teacher.T_ID=TC.T_IDl 內(nèi)聯(lián)接 select DISTINCT T_Name from Teacher,TC where Teacher.T_ID=TC.T_ID 表2-e(f)用外聯(lián)接查詢所有老師的授課情況,輸出老師的工號(hào)、姓名、職稱、院系、擔(dān)任的課程號(hào)和授課的學(xué)期,結(jié)果按院系和職稱升序排列。如果該老師沒有授課歷史,在課程號(hào)和授課的學(xué)期中顯示空值。select Teacher.T_ID,Teacher.T_Name,Teacher.Academic_Title,Department. DEPT_Name,TC.C_ID,TC.Semester from Teacher Right join TC on Teacher.T_ID=TC.T_ID join Department ON Department.DEPT_ID=Teacher.DEPT_IDorder by Department.DEPT_Name , Teacher.Academic_Title表2-f4實(shí)驗(yàn)思考:聯(lián)接查詢中,輸出列名時(shí)何時(shí)可以忽略列名前的表名,何時(shí)不能? 完整寫法 表名.列名 若選擇的字段名在各個(gè)表中是唯一的,則可以省略字段名前的表名。 聯(lián)接查詢中,INNER JOIN、 LEFT OUTER JOIN 、RIGHT OUTER JOIN、 FULL OUTER JOIN 的結(jié)果各有什么不同?v INNER JOIN : Inner join 產(chǎn)生的結(jié)果集中,是A和B的交集SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.namev LEFT OUTER JOIN: (1) Left outer join 產(chǎn)生表A的完全集,而B表中匹配的則有值,沒有匹配的則以null值取代。 SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name (2) 產(chǎn)生在A表中有而在B表中沒有的集合。SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableB.id IS nullv RIGHT OUTER JOINRIGHT OUTER JOIN 是后面的表為基礎(chǔ),與LEFT OUTER JOIN用法類似。v FULL OUTER JOIN (1) Full outer join 產(chǎn)生A和B的并集。但是需要注意的是,對于沒有匹配的記錄,則會(huì)以null做為值。可以使用IFNULL判斷。SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name (2) 產(chǎn)生A表和B表沒有交集的數(shù)據(jù)集。SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.nameWHERE TableA.id IS null OR TableB.id IS nullLIKE匹配字符有幾種?如果要檢索的字符中包含匹配字符,該如何處理?LIKE通配符及實(shí)例通配符 說明實(shí)例%表示包含零個(gè)或多個(gè)字符的任意字符串。where title like %computer% 將查找在書名中任意位置包含單詞 computer 的所有書名。_(下劃線)表示任何單個(gè)字符。where au_fname like _ean 將查找以 ean 結(jié)尾的所有 4 個(gè)字母的名字(dean、sea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國感應(yīng)加熱電源行業(yè)調(diào)查報(bào)告
- 2024-2030年中國奶茶行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報(bào)告
- 中國踏水車行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 2025年中國撒糞車行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 竹營養(yǎng)米項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年兩性健康行業(yè)市場需求分析報(bào)告及未來五至十年行業(yè)預(yù)測報(bào)告
- 2025年中國輪式滾字機(jī)行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 以距離為引:高二學(xué)生數(shù)學(xué)抽象水平深度剖析與提升路徑探究
- 2025-2030年中國彩印膠袋項(xiàng)目投資可行性研究分析報(bào)告
- 以責(zé)為基育夢未來:大興區(qū)第一小學(xué)高年級(jí)學(xué)生責(zé)任意識(shí)培養(yǎng)策略探究
- 勞務(wù)外包三方協(xié)議
- 水果禮盒創(chuàng)業(yè)計(jì)劃書
- 計(jì)算機(jī)操作系統(tǒng)教程(第3版)電子素材
- 復(fù)方電解質(zhì)醋酸鈉葡萄糖注射液-藥品臨床應(yīng)用解讀
- 水產(chǎn)養(yǎng)殖行業(yè)營銷策略方案
- 廠房分布式光伏系統(tǒng)施工進(jìn)度計(jì)劃橫道圖
- 廣州市荔灣廣雅新初一分班(摸底)語文模擬試題(5套帶答案)
- 社會(huì)工作流程圖
- 人工智能方法在土木工程監(jiān)測中的運(yùn)用
- 高效溝通之溝通的意義在于回應(yīng)
- 廣東省廉江市實(shí)驗(yàn)學(xué)校2022-2023學(xué)年數(shù)學(xué)五年級(jí)第二學(xué)期期末聯(lián)考試題含答案
評論
0/150
提交評論