《數(shù)據(jù)查詢?cè)囼?yàn)試驗(yàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)查詢?cè)囼?yàn)試驗(yàn)(6頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1.1 實(shí)驗(yàn)?zāi)康腟QL查詢語(yǔ)言的了解,掌握相關(guān)查詢通過對(duì)實(shí)驗(yàn)二中建立的學(xué)生數(shù)據(jù)庫(kù)關(guān)系表和視圖的各種查詢的操作,加深對(duì) 語(yǔ)句的語(yǔ)法和使用方法.1.2 實(shí)驗(yàn)內(nèi)容1.2.1 數(shù)據(jù)庫(kù)關(guān)系表查詢1) 簡(jiǎn)單的查詢操作,包括單表的查詢、選擇條件、結(jié)果排序等的練習(xí);2) 多表的連接查詢,包括等值連接、自然連接等;3) 復(fù)雜的查詢操作,包括使用分組函數(shù)等庫(kù)函數(shù)的查詢操作;(4) 練習(xí)帶有IN、比擬符的嵌套查詢.1.2.2 視圖查詢對(duì)實(shí)驗(yàn)二建立的視圖進(jìn)行相關(guān)的查詢操作,如:查詢選修了課程編號(hào)為“ C01的學(xué)生的學(xué)號(hào)和成績(jī); 查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程名稱和成績(jī); 查詢選修了數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名.
2、1.3 實(shí)驗(yàn)要求(1) 用SQL語(yǔ)句完成以上操作(2) 要求學(xué)生獨(dú)立完成以上內(nèi)容.(3) 實(shí)驗(yàn)完成后完成要求的實(shí)驗(yàn)報(bào)告內(nèi)容.1.4 實(shí)驗(yàn)環(huán)境Windows8 pc 機(jī) Mysql 配置的環(huán)境 Mysql 命令行工具Workbench 可視化工具1.5 實(shí)驗(yàn)步驟及結(jié)果分析1.5.1 數(shù)據(jù)庫(kù)關(guān)系表查詢1.5.1.1 簡(jiǎn)單查詢具體內(nèi)容包括:在簡(jiǎn)單查詢實(shí)驗(yàn)中,在 sql 語(yǔ)句完成以下查詢操作:1. 查詢“數(shù)據(jù)庫(kù)原理課程的學(xué)分:Mysql 語(yǔ)言:select credit from course where cname= 數(shù)據(jù)庫(kù)原理 ;2. 查詢選修了課程編號(hào)為“ C01 的學(xué)生的學(xué)號(hào)和成績(jī),并將成績(jī)按
3、降序輸出:Mysql 語(yǔ)言:select sno,gradefrom scwhere cno=C01order by grade desc;3.查詢學(xué)號(hào)為“ 31401的學(xué)生選修的課程編號(hào)和成績(jī): Mysql 語(yǔ)言:select cno,grade from sc where sno=31401;4.查詢選修了課程編號(hào)為“ C01 且成績(jī)高于85分的學(xué)生的學(xué)號(hào)和成績(jī):Mysql 語(yǔ)言:select sno,gradefrom scwhere cno=C01 and grade 85;查詢“數(shù)據(jù)庫(kù)原理課程的學(xué)分查詢選修了課程編號(hào)為“ C01的學(xué)生 的學(xué)號(hào)和成績(jī),將成績(jī)按降序輸出查詢學(xué)號(hào)為“ 31
4、401 的學(xué)生選修的課程編號(hào)和成績(jī)查詢選修了課程編號(hào)為“ C01且成績(jī)高于85分的學(xué)生的學(xué)號(hào)和成績(jī)1.5.1.2 連接查詢?cè)诙啾磉B接的查詢實(shí)驗(yàn)中,在SQL SERVER!供的交互式語(yǔ)言環(huán)境下用 Transact SQL語(yǔ)句完成以下查詢操作:1.查詢選修了課程編號(hào)為“C01 且成績(jī)高于85分的學(xué)生的學(xué)號(hào)、姓名和成績(jī):Mysql 語(yǔ)言:select sno,sname,gradefrom student natural join scwhere cno=C01 and grade 85;2.查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程名稱和成績(jī)Mysql 語(yǔ)言:select sno,sname,cname
5、,gradefrom student natural join sc natural join course;查詢選修了課程編號(hào)為“C01 且成績(jī)高于85分的學(xué)生的學(xué)號(hào)、姓名和成績(jī)查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程名稱和成績(jī)1.5.1.3復(fù)雜查詢?cè)趶?fù)雜查詢實(shí)驗(yàn)中,用 SQL語(yǔ)句完成以下查詢操作:1. 查詢至少選修了三門課程的學(xué)生的學(xué)號(hào)和姓名:2.Mysql 語(yǔ)言:select sno,sname,count(cno)from student natural join scgroup by snohaving count(cno)=3; 查詢所有學(xué)生的學(xué)號(hào)和他選修課程的最高成績(jī),要求他的選修課
6、程中沒有成績(jī)?yōu)榭盏? Mysql 語(yǔ)言:select sno,max(grade)from scwhere sno not in(select distinct sno from sc where grade is null) group by sno;查詢至少選修了三門課程的學(xué)生的學(xué)號(hào)和姓名查詢所有學(xué)生的學(xué)號(hào)和他選修課程的最高成績(jī),要求他的選修課程中沒有成績(jī)?yōu)榭盏?.5.1.4 嵌套查詢?cè)谇短撞樵儗?shí)驗(yàn)中,在 kingbase 提供的交互式語(yǔ)言環(huán)境下用 iSQL 語(yǔ)句完成以下查詢操作,要求寫嵌套查詢語(yǔ)句:1. 查詢選修了數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名:Mysql 語(yǔ)言:select sno,sn
7、amefrom (select sno,sname,cnamefrom student natural join sc natural join course)as awhere cname= 數(shù)據(jù)庫(kù)原理 ;2. 查詢沒有選修數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名:Mysql 語(yǔ)言:select distinct(sno),snamefrom (select sno,sname,cnamefrom student natural join sc natural join course )as awhere cname 數(shù)據(jù)庫(kù)原理 ;3. 查詢至少選修了學(xué)號(hào)為“ 31401的學(xué)生所選修的所有課程的學(xué)生的學(xué)
8、號(hào)和姓名: Mysql 語(yǔ)言:select sno,snamefrom studentwhere not exists(select * from (select cno from sc where sno=31401)as S where not exists(select * from sc where cno= and sno=);查詢選修了數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名查詢沒有選修數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名查詢至少選修了學(xué)號(hào)為“ 31401 的學(xué)生所選修的所有課程的學(xué)生的學(xué)號(hào)和姓名1.5.2 視圖查詢對(duì)實(shí)驗(yàn)二建立的視圖進(jìn)行相關(guān)的查詢操作,如:1. 查詢選修了課程編號(hào)為“C01的學(xué)生的學(xué)
9、號(hào)和成績(jī):Mysql 語(yǔ)言:select sno,grade from new_view where cno=C01;2. 查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程名稱和成績(jī):Mysql 語(yǔ)言:select sno,sname,cname,grade from new_view;3. 查詢選修了數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名:Mysql 語(yǔ)言:select sno,sname from new_view where cname= 數(shù)據(jù)庫(kù)原理 ;查詢選修了課程編號(hào)為“ C01的學(xué)生的學(xué)號(hào)和成績(jī)查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程名稱和成績(jī)查詢選修了數(shù)據(jù)庫(kù)原理的學(xué)生的學(xué)號(hào)和姓名1.6 實(shí)驗(yàn)總結(jié) 本次實(shí)驗(yàn)
10、我們進(jìn)行了多種多樣的 mysql 查詢操作,在屢次的進(jìn)行查書,查網(wǎng)絡(luò)資料后,我完成了本次的實(shí)驗(yàn). 首先,我感覺本次實(shí)驗(yàn)最重要的便是本次實(shí)驗(yàn)的結(jié)構(gòu)性,針對(duì)簡(jiǎn)單查詢、連接查詢、復(fù)雜查詢、嵌套查詢分 塊操作,毫無疑問讓我對(duì)查詢有了更深一步的了解,不同的查詢方式對(duì)應(yīng)著不同的特點(diǎn),不同的語(yǔ)句.exists同時(shí),實(shí)驗(yàn)中,我遇到了各種語(yǔ)句的不熟悉等問題,在資料查詢過程中,讓我對(duì)各種語(yǔ)句有了更深一步的了 解,同時(shí)在使用過程中有了更多的熟練性.尤其是最后一個(gè)嵌套查詢,我查閱了很多網(wǎng)絡(luò)資料和例子,讓我對(duì) 和 not exists 語(yǔ)句有了更深一步的了解,同時(shí)再看解釋時(shí)也讓我對(duì)數(shù)據(jù)庫(kù)查詢的內(nèi)部過程有了一定的了解,即采用相 當(dāng)于高級(jí)語(yǔ)言的循環(huán)操作方式類似.毫無疑問,本次實(shí)驗(yàn)讓我對(duì)理論的應(yīng)用有了一定程度的適應(yīng),也大大增加了對(duì)實(shí)驗(yàn)過程的興趣.