實(shí)驗(yàn)二數(shù)據(jù)庫的簡單查詢和連接查詢.docx_第1頁
實(shí)驗(yàn)二數(shù)據(jù)庫的簡單查詢和連接查詢.docx_第2頁
實(shí)驗(yàn)二數(shù)據(jù)庫的簡單查詢和連接查詢.docx_第3頁
實(shí)驗(yàn)二數(shù)據(jù)庫的簡單查詢和連接查詢.docx_第4頁
實(shí)驗(yàn)二數(shù)據(jù)庫的簡單查詢和連接查詢.docx_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

貴州大學(xué)實(shí)驗(yàn)報(bào)告學(xué)院:計(jì)算機(jī)科學(xué)與信息學(xué)院 專業(yè):信息安全 班級(jí):姓名學(xué)號(hào)實(shí)驗(yàn)組實(shí)驗(yàn)時(shí)間指導(dǎo)教師成績實(shí)驗(yàn)項(xiàng)目名稱數(shù)據(jù)庫的簡單查詢和連接查詢實(shí)驗(yàn)?zāi)康?使學(xué)生掌握SQL Server 查詢分析器的使用方法,加深對(duì)SQL語言的查詢語句的理解。熟練掌握簡單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連接查詢的操作方法。實(shí)驗(yàn)要求本實(shí)驗(yàn)屬于驗(yàn)證型實(shí)驗(yàn),通過實(shí)驗(yàn),加強(qiáng)對(duì)課堂講授知識(shí)的理解。開始實(shí)驗(yàn)前,必須進(jìn)行預(yù)習(xí),寫出實(shí)現(xiàn)所有查詢要求的SQL語句。實(shí)驗(yàn)過程中,先集中由老師進(jìn)行具體要求和注意事項(xiàng)的講解,然后各自獨(dú)立在機(jī)器上完成實(shí)驗(yàn)。實(shí)驗(yàn)過程中出現(xiàn)問題,在實(shí)驗(yàn)指導(dǎo)老師幫助下解決。實(shí)驗(yàn)原理1、將查詢需求用SQL語言表示。 2、在SQL Server查詢分析器的輸入?yún)^(qū)中輸入SQL查詢語句。 3、設(shè)置查詢分析器結(jié)果區(qū)為Standard Execute(標(biāo)準(zhǔn)執(zhí)行)或Execute to Grid方式。 4、發(fā)布執(zhí)行命令,查看查詢結(jié)果;如果結(jié)果不正確,進(jìn)行修改,直到正確為止。 5、查詢分析器及使用方法 查詢分析器是在開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)時(shí)使用最多的工具。查詢分析器的主要作用是編輯SQL語句,將其發(fā)送到服務(wù)器,并將執(zhí)行結(jié)果及分析顯示出來(或進(jìn)行存儲(chǔ))。查詢分析功能主要通過測試查詢成本,判斷該查詢是否需要增加索引以提高查詢速度,并可以實(shí)現(xiàn)自動(dòng)建立索引的功能。 在查詢分析器中的左邊窗口是對(duì)象瀏覽器,其中按樹結(jié)構(gòu)列出了數(shù)據(jù)庫對(duì)象;右上方是SQL代碼區(qū)域,用于輸入SQL的查詢語句;右下方為結(jié)果區(qū),用于顯示查詢結(jié)果和分析結(jié)果。對(duì)于SQL語句的執(zhí)行結(jié)果,在結(jié)果區(qū)中可以有4中不同的輸出形式;標(biāo)準(zhǔn)執(zhí)行將結(jié)果直接顯示在結(jié)果區(qū);網(wǎng)格執(zhí)行將結(jié)果以表格形式顯示在結(jié)果區(qū);計(jì)劃執(zhí)行顯示執(zhí)行計(jì)劃;索引分析為在結(jié)果區(qū)中顯示查詢的索引情況。上述輸出形式,可以通過菜單或按鈕選擇。實(shí)驗(yàn)儀器(1)硬件條件:個(gè)人計(jì)算機(jī)。(2)軟件條件:Windows 2000NT Server; MS SQL Server 2000。實(shí)驗(yàn)步驟1、基本操作實(shí)驗(yàn) (1)簡單查詢實(shí)驗(yàn) 1)用SQl語句表示下列操作,在學(xué)生選課庫中實(shí)現(xiàn)其數(shù)據(jù)查詢操作。 求數(shù)學(xué)系學(xué)生的學(xué)號(hào)和姓名。 求選修了課程的學(xué)生學(xué)號(hào)。 求選修C1課程的學(xué)生學(xué)號(hào)和成績,并要求對(duì)查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號(hào)升序排列。 求選修課程C1且成績在8090分之間的學(xué)生學(xué)號(hào)和成績,并將成績乘以系數(shù)0.8輸出。 求數(shù)學(xué)系或計(jì)算機(jī)系姓張的學(xué)生的信息。 求缺少了成績的學(xué)生的學(xué)號(hào)和課程號(hào)。 2)在圖書讀者庫中實(shí)現(xiàn)其查詢操作:將計(jì)算機(jī)類的書存入永久的計(jì)算機(jī)圖書表中,將借書日期在2000年以前的借閱記錄存入臨時(shí)的超期借閱表。 (2)連接查詢實(shí)驗(yàn) 用SQL語句表示,并在學(xué)生選課庫中實(shí)現(xiàn)下列數(shù)據(jù)連接查詢操作: 查詢每個(gè)學(xué)生的情況以及他所選修的課程。 求學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績。 求選修C1課程且成績?yōu)?0分以上的學(xué)生學(xué)號(hào)、姓名及成績。 查詢每一門課的間接先行課(即先行課的先行課)。 2、提高操作實(shí)驗(yàn)(1)按如下表的格式,建立職工部門庫和職工表、部門表,并向表中輸入數(shù)據(jù)。職工表(ZG)職工號(hào)(zgh)姓名(xm)性別(xb)年齡(nl)所在部門(bmh)1010李勇男20111011劉晨女191012王敏女22121014張立男2113部門表(BM)部門號(hào)(bmh)部門名稱(bmmc)電話(dh)11生產(chǎn)科56612計(jì)劃科57813一車間46714科研所(2)用SQL語句表示職工和部門之間的內(nèi)連接、左外部連接和右外部連接,在職工部門庫中實(shí)現(xiàn)其數(shù)據(jù)內(nèi)連接和各種外查詢操作。實(shí)驗(yàn)內(nèi)容1、簡單查詢操作該實(shí)驗(yàn)包括投影、選擇條件表達(dá)式、數(shù)據(jù)排序、使用臨時(shí)表等。2、連接查詢操作該實(shí)驗(yàn)包括等值連接、自然連接、求笛卡兒積、一般連接、外連接、內(nèi)連接、左連接、右連接和自連接等。實(shí)驗(yàn)數(shù)據(jù)1、基本操作實(shí)驗(yàn) (1)簡單查詢實(shí)驗(yàn) 1)用SQl語句表示下列操作,在學(xué)生選課庫中實(shí)現(xiàn)其數(shù)據(jù)查詢操作。求數(shù)學(xué)系學(xué)生的學(xué)號(hào)和姓名。Select Number,Name from Student where Academy=數(shù)學(xué)系求選修了課程的學(xué)生學(xué)號(hào)。select Number from Student where exists (select * from Selection where Student.Number=Selection.Snumber)或select distinct Snumber from Selection(更加高效)求選修C1課程的學(xué)生學(xué)號(hào)和成績,并要求對(duì)查詢結(jié)果按成績降序排列,如果成績相同則按學(xué)號(hào)升序排列。select Snumber,Score from Selection,Course where Cnumber=Number and Name=C1 order by Snumber asc求選修課程C1且成績在8090分之間的學(xué)生學(xué)號(hào)和成績,并將成績乘以系數(shù)0.8輸出。select Snumber,Score*0.8 Score from Selection,Course where Cnumber=Number and Name=C1 and Score80 and Score90求數(shù)學(xué)系或計(jì)算機(jī)系姓張的學(xué)生的信息。select * from Student where Name like 張% and (Academy=數(shù)學(xué)系 or Academy=計(jì)算機(jī)系) 求缺少了成績的學(xué)生的學(xué)號(hào)和課程號(hào)。select Snumber,Cnumber from Selection where Score is null2)在圖書讀者庫中實(shí)現(xiàn)其查詢操作:將計(jì)算機(jī)類的書存入永久的計(jì)算機(jī)圖書表中,將借書日期在2000年以前的借閱記錄存入臨時(shí)的超期借閱表。insert into CB(Number,Name,Category,Press,Author,Price)select Number,Name,Category,Press,Author,Price from Book where Category=計(jì)算機(jī)CREATE TABLE #TB(Bnumber char(20),Rnumber char(20),Bdate date,ID char(10) primary key)goinsert into #TB(Bnumber,Rnumber,Bdate,ID) select Bnumber,Rnumber,Bdate,ID from Borrow where Bdate90查詢每一門課的間接先行課(即先行課的先行課)。select C1.Number,C1.Name,C2.Front Indirect,C3.Name FCName from Course C1,Course C2,Course C3 where C1.Front=C2.Number and C2.Front=C3.Number 2、提高操作實(shí)驗(yàn)(1)按如下表的格式,建立職工部門庫和職工表、部門表,并向表中輸入數(shù)據(jù)。create database ZGBMgouse ZGBMcreate table ZG(zgh char(4) primary key,xm nchar(8),xb nchar(1) check (xb=男 or xb=女),nl int,bmh char(4) )create table BM(bmh char(2) primary key,bmmc char(10),dh char(5)(2)用SQL語句表示職工和部門之間的內(nèi)連接、左外部連接和右外部連接,在職工部門庫中實(shí)現(xiàn)其數(shù)據(jù)內(nèi)連接和各種外查詢操作。內(nèi)連接:select * from ZG,BM where ZG.bmh=BM.bmh左外部連接:select * from ZG left join BM on (ZG.bmh=bm.bmh)右外部連接:select * from ZG right join BM on (ZG.bmh=bm.bmh)思考題1、寫出實(shí)現(xiàn)所有查詢要求的

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論