資源描述:
《實驗3 數(shù)據(jù)庫的簡單查詢和連接查詢實驗》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗3數(shù)據(jù)庫的簡單查詢和連接查詢實驗1.實驗?zāi)康谋緦嶒灥哪康氖鞘箤W(xué)生掌握SQLServer查詢分析器的使用方法,加深對SQL和SQL語言的查詢語句的理解。熟練掌握簡單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連接查詢的操作方法。2.實驗時數(shù)2學(xué)時3.實驗內(nèi)容1.簡單查詢操作。該實驗包括投影、選擇條件表達,數(shù)據(jù)排序,使用臨時表等。具體完成以下題目,將它們轉(zhuǎn)換為SQL語句表示,在學(xué)生選課數(shù)據(jù)庫中實現(xiàn)其數(shù)據(jù)查詢操作。1.求數(shù)學(xué)系學(xué)生的學(xué)號和姓名selectxh,xmfromstudentwherexi='數(shù)學(xué)系'2.求選修了課程
2、的學(xué)生學(xué)號selectdistinctxhfromcjdj;3.求選修課程號為‘C1’的學(xué)生號和成績,并要求對查詢結(jié)果按成績的降序排列,如果成績相同按學(xué)號的升序排列。selectxh,cjfromcjdjwherekch='C1'orderbycjdesc,xh1.求選修課程號為‘C1’且成績在80~90之間的學(xué)生學(xué)號和成績,并成績乘以0.8輸出。SELECTxh,cj*0.8FROMcjdjWHEREkch='C1'ANDcjBETWEEN80AND905.求數(shù)學(xué)系或計算機系姓張的學(xué)生的信息。SELECT*
3、FROMstudentWHERExiIN('數(shù)學(xué)系','計算機')ANDxmLIKE'張%'6.求缺少了成績的學(xué)生的學(xué)號和課程號SELECTxh,kchFROMcjdjWHEREcjISNULL;1.連接查詢操作。該實驗包括等值連接、自然連接、求笛卡兒積、一般連接、外連接、內(nèi)連接、左連接、右連接和自連接等。7.查詢每個學(xué)生的情況以及他所選修的課程SELECTstudent.*,cjdj.*FROMstudent,cjdjWHEREstudent.xh=cjdj.xh8.求學(xué)生的學(xué)號、姓名、選修的課程及成績SE
4、LECTstudent.xh,xm,cj,cjdj.kchFROMstudent,cjdj,kcWHEREstudent.xh=cjdj.xhANDkc.kch=cjdj.kch;9.求選修課程號為‘C1’且成績在90以上的學(xué)生學(xué)號、姓名和成績SELECTstudent.xh,xm,cjFROMstudent,cjdjWHEREstudent.xh=cjdj.xhANDkch='C1'ANDcj>9010.查詢每一門課程的間接先行課(即先行課的先行課)SELECTA.kch,A.kcmc,B.xxkcFROM
5、kcA,kcBWHEREA.xxkc=B.kch1.實驗方法將查詢需求用SQL語言表示;在SQLServer查詢分析器的輸入?yún)^(qū)中輸入SQL查詢語句;設(shè)置查詢分析器的結(jié)果區(qū)為StandardExecute(標(biāo)準(zhǔn)執(zhí)行)或ExecutetoGrid(網(wǎng)格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結(jié)果區(qū)中查看查詢結(jié)果;如果結(jié)果不正確,要進行修改,直到正確為止。實驗總結(jié)通過本次實驗,我基本掌握了各種查詢方式,包括簡單查詢、嵌套查詢、連接查詢等,能熟練寫出這些查詢語句,同時在各種查詢方式之間的轉(zhuǎn)換我也收獲良多,個人認為查詢時應(yīng)遵循“
6、最方便”的原則,比如查詢每個課程的課程號和選修人數(shù)運用“組合查詢與統(tǒng)計查詢”就較為方便,再如我們要查詢每個學(xué)生的情況以及他(她)所選修的課程就最好選用“連接查詢實驗”。