《數(shù)據(jù)庫及其應(yīng)用》實驗報告SQL查詢、選擇查詢和動作查詢_第1頁
《數(shù)據(jù)庫及其應(yīng)用》實驗報告SQL查詢、選擇查詢和動作查詢_第2頁
《數(shù)據(jù)庫及其應(yīng)用》實驗報告SQL查詢、選擇查詢和動作查詢_第3頁
《數(shù)據(jù)庫及其應(yīng)用》實驗報告SQL查詢、選擇查詢和動作查詢_第4頁
《數(shù)據(jù)庫及其應(yīng)用》實驗報告SQL查詢、選擇查詢和動作查詢_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫及其應(yīng)用實驗報告實驗序號:b0901000-03 實驗項目名稱:sql查詢、選擇查詢和動作查詢學(xué)號姓名專業(yè)、班藝術(shù)1002實驗地點指導(dǎo)教師時間2011年5月一、實驗?zāi)康募耙?掌握access表達(dá)式的基本概念。了解不同類型數(shù)據(jù)的常量、參數(shù)、運算與函數(shù)的使用。2理解查詢對象的意義和建立方法。3掌握sql語言中select語句的主要應(yīng)用。4掌握sql的插入、更新、刪除操作命令的基本應(yīng)用。5了解sql定義數(shù)據(jù)表的基本方法。6理解access選擇查詢的意義和類別。7掌握一般選擇查詢的操作應(yīng)用;理解并掌握交叉查詢的應(yīng)用;理解參數(shù)查詢的意義。8理解access動作查詢包含的查詢類別。 9將動作查詢與

2、sql命令進(jìn)行對比,理解并掌握動作查詢的操作應(yīng)用。 二、實驗設(shè)備(環(huán)境)及要求 pc機,windows xp,access 2003,學(xué)生管理數(shù)據(jù)庫三、實驗內(nèi)容要求(一) sql視圖中表達(dá)式練習(xí)1進(jìn)入sql視圖及在不同視圖間切換在access中進(jìn)入查詢的設(shè)計視圖并在查詢的不同視圖之間切換。2不同類型數(shù)據(jù)的表達(dá)式運算在sql視圖中分別輸入以下命令并運行,對于參數(shù)自己輸入數(shù)據(jù)。查看并寫出各表達(dá)式運算結(jié)果。select -5.122+(17 mod 3);select hello +,world!,left(清華大學(xué)出版社,2)+right(清華大學(xué)出版社,3);select 你畢業(yè)的年份是, va

3、l(left(你的學(xué)號,4)+4;select 現(xiàn)在是+str(year(date()+年,現(xiàn)在的時間是:+cstr(time();select 張三李四,abcd1000;(二)sql命令進(jìn)行查詢和操作1練習(xí)sql查詢的select語句啟動教學(xué)管理數(shù)據(jù)庫,在數(shù)據(jù)庫窗口對象欄中單擊“查詢”,然后進(jìn)入sql視圖。在“sql視圖”中輸入以下select命令,查看執(zhí)行結(jié)果,并仔細(xì)體會查詢的實現(xiàn)。 查詢“學(xué)院”、“專業(yè)”、“學(xué)生”完整數(shù)據(jù)。select * from (學(xué)院 inner join 專業(yè) on 學(xué)院.學(xué)院號=專業(yè).學(xué)院號) inner join 學(xué)生 on 專業(yè).專業(yè)號=學(xué)生.專業(yè)號);

4、 查詢“工商管理”專業(yè)所有女生信息。select 專業(yè),學(xué)生.* from 專業(yè) inner join 學(xué)生 on 專業(yè).專業(yè)號=學(xué)生.專業(yè)號where 專業(yè).專業(yè)=工商管理 and 學(xué)生.性別=女; 查詢平均成績在80分以上的各位學(xué)生的學(xué)號、姓名和平均分。保存為查詢對象,對象名“優(yōu)秀學(xué)生”。select 學(xué)生.學(xué)號,姓名,avg(成績) as 平均分 from 學(xué)生 inner join 成績 on 學(xué)生.學(xué)號=成績.學(xué)號 group by 學(xué)生.學(xué)號,姓名 having avg(成績)=80 ;單擊工具欄保存按鈕,彈出“另存為”對話框,輸入“優(yōu)秀學(xué)生”,單擊“確定”按鈕。 查詢沒有學(xué)生數(shù)據(jù)

5、的專業(yè)編號和專業(yè)。select 專業(yè)號,專業(yè) from 專業(yè) where 專業(yè)號 not in (select 專業(yè)號 from 學(xué)生) ; 查詢“湖北”籍1988年以后出生的學(xué)生信息。select * from 學(xué)生 where 籍貫 like 湖北* and 生日 =#1988-1-1# ; 查詢選課人數(shù)最多的課程的課程號、課程名。select top 1 課程.課程號,課程名 from 課程 inner join 成績 on 課程.課程號=成績.課程號 group by 課程.課程號,課程名order by count(*) desc ;2練習(xí)sql的插入、更新、刪除操作命令 在課程表中

6、插入一門新課,數(shù)據(jù)如命令所示。insert into 課程values(06020101,會計學(xué)原理,3,06); 將“法學(xué)院(04)”開設(shè)課程的學(xué)分增加1分。update 課程 set 學(xué)分=學(xué)分+1 where 學(xué)院號=04 刪除“信息學(xué)院(09)”開設(shè)的沒有學(xué)生選修的課程。delete from 課程 where 學(xué)院號=09 and 課程號 not in (select 課程號 from 成績)3創(chuàng)建“教師”表,包括:工號、姓名、性別、生日、職稱、基本工資、學(xué)院號。寫出創(chuàng)建命令。(三)選擇查詢操作1進(jìn)入查詢設(shè)計視圖進(jìn)行交互式選擇查詢設(shè)置啟動教學(xué)管理數(shù)據(jù)庫。 查詢“專業(yè)”表,顯示開設(shè)的所

7、有專業(yè)涉及的學(xué)科門類。 查詢各專業(yè)學(xué)生的人數(shù)。 查詢沒有選課的男學(xué)生學(xué)號、姓名,即成績表中沒有記錄的學(xué)生數(shù)據(jù)。2進(jìn)行交叉表查詢將學(xué)生的“學(xué)號”和“姓名”作為行標(biāo)題,“課程名”作為列標(biāo)題,成績作為交叉數(shù)據(jù),生成交叉表。3進(jìn)行參數(shù)查詢通過參數(shù)查詢指定日期以后出生的某個民族的學(xué)生信息。(四)動作查詢操作1生成表查詢操作練習(xí)將“查詢平均成績在80分以上的各位學(xué)生的學(xué)號、姓名和平均分”的結(jié)果生成新表,表名“優(yōu)秀學(xué)生名單”。2刪除查詢操作刪除“優(yōu)秀學(xué)生名單”表中,平均分在85分以下的記錄。3追加查詢操作將平均分在8085分之間的學(xué)生及成績數(shù)據(jù)加入“優(yōu)秀學(xué)生名單”表, 4更新查詢操作將沒有學(xué)生選修的課程的學(xué)

8、分減少1分。寫出以上要求的操作步驟并截取必要的圖片。四、回答問題1有哪幾種方式可進(jìn)入“sql視圖”?如果用“記事本”編寫了sql語句,是否可以在sql視圖中使用?如何操作?答:單擊查詢工具欄的“視圖”工具的下拉按鈕,選擇“sql視圖”選項或單擊菜單欄中“視圖”,選擇“sql視圖”??梢?。2為什么不能在數(shù)字常量前加“¥”或“$”符號表示幣值常量?“¥”或“$”有何作用?答:“”表示可以在“格式”屬性中的任何位置使用這些字符并將這些字符原文照印。3如果在修改“法學(xué)院”學(xué)分的操作中要求根據(jù)“學(xué)院名”作為輸入條件修改數(shù)據(jù),查詢命令應(yīng)該如何寫?答:update 課程 set 學(xué)分=學(xué)分+1where 學(xué)

9、院名=法學(xué)院;4不保存查詢,與將查詢保存為查詢對象有何區(qū)別?查詢對象有什么作用?答:將查詢對象保存為查詢對象后,可將查詢功能反復(fù)執(zhí)行,并作進(jìn)一步處理。作用:當(dāng)需查看查詢結(jié)果時,進(jìn)入查詢對象界面,選中相應(yīng)的查詢對象單擊“打開”,即可運行查詢,查看結(jié)果;由于查詢的結(jié)果與表的格式相同,所以查詢對象還可以進(jìn)一步成為其他操作的數(shù)據(jù)源。5根據(jù)以下給定的查詢要求,寫出對應(yīng)的查詢命令。 查詢學(xué)生中的民族來源,顯示不重復(fù)的民族數(shù)據(jù)。答:select distinct 民族 from 學(xué)生; 查詢各民族男生和女生的人數(shù)。答:select distinct 民族,人數(shù) from 學(xué)生; 查詢沒有學(xué)生選修的課程信息以

10、及開課的學(xué)院名。答:select 課程號,學(xué)院名from 課程where 課程號 not in (select 課程號from 課程); 插入幾條教師記錄。答:insert into 教師 values(“張?zhí)m”, “趙也聲”); 給“教授”職稱的教師的基本工資增加10%。答:update 教師 set 工資=工資*(1+10%)where 職稱=教授; 刪除沒有學(xué)生就讀的專業(yè)數(shù)據(jù)。答:delect from 專業(yè)where 專業(yè)號 not in ( select 專業(yè)號 from 學(xué)生); 刪除教師表。答:delect table 教師text(6) primary key,(工號 text

11、(6) primary key,姓名 text(10) not null,性別 text(2),生日 date,職稱 text(8),基本工資 money,學(xué)院號 text(2) references 學(xué)院(學(xué)院號));6深入體會交叉表查詢的作用,簡述交叉表查詢的實質(zhì)意義。作為行標(biāo)題的字段最多可以設(shè)置幾個?作為列標(biāo)題和交叉值的字段最多可以設(shè)置幾個?答:交叉表查詢都是一種特殊的匯總查詢。交叉表事實上反映的是對兩種實體極其練習(xí)的關(guān)系表示,轉(zhuǎn)換為另一種二維表結(jié)構(gòu)來顯示。行標(biāo)題的字段可是多個,列標(biāo)題只能是一個。7參數(shù)查詢的參數(shù)設(shè)置是否一定要通過菜單設(shè)置類型?通過菜單設(shè)置的參數(shù)是否一定要出現(xiàn)在查詢中?答

12、:是。不一定。8生成表查詢實現(xiàn)的是sql語言中什么語句的功能?答:實現(xiàn)select語句中into子句的功能。9追加查詢對應(yīng)sql的什么語句?該語句是否只具有追加查詢的功能?若有其他功能,如何實現(xiàn)交互操作?答:insert語句。不是。五、分析討論 通過這次實驗,我基本上掌握了sql查詢、選擇查詢和動作查詢。實驗的難度有點大,內(nèi)容非常多,花了我不少時間,但也大有收獲。對access也有了進(jìn)一步的了解。也增加了我對數(shù)據(jù)庫的興趣。六、教師評語簽名: 日期:成績本實驗的操作步驟如下。(一) sql視圖中表達(dá)式練習(xí)1進(jìn)入sql視圖及在不同視圖間切換在數(shù)據(jù)庫窗口中選擇“查詢”對象,雙擊“在設(shè)計視圖中創(chuàng)建查詢

13、”。關(guān)閉“顯示表”對話框,然后單擊查詢工具欄的“視圖”工具的下拉按鈕,選擇“sql視圖”選項。2不同類型數(shù)據(jù)的表達(dá)式運算select -5.122+(17 mod 3);select hello +,world!,left(清華大學(xué)出版社,2)+right(清華大學(xué)出版社,3);select 你畢業(yè)的年份是, val(left(你的學(xué)號,4)+4;select 現(xiàn)在是+str(year(date()+年,現(xiàn)在的時間是:+cstr(time();select 張三李四,abcd1000;(二)sql命令進(jìn)行查詢和操作1練習(xí)sql查詢的select語句 查詢“學(xué)院”、“專業(yè)”、“學(xué)生”完整數(shù)據(jù)。s

14、elect * from (學(xué)院 inner join 專業(yè) on 學(xué)院.學(xué)院號=專業(yè).學(xué)院號) inner join 學(xué)生 on 專業(yè).專業(yè)號=學(xué)生.專業(yè)號); 查詢“工商管理”專業(yè)所有女生信息。select 專業(yè),學(xué)生.* from 專業(yè) inner join 學(xué)生 on 專業(yè).專業(yè)號=學(xué)生.專業(yè)號where 專業(yè).專業(yè)=工商管理 and 學(xué)生.性別=女; 查詢平均成績在80分以上的各位學(xué)生的學(xué)號、姓名和平均分。保存為查詢對象,對象名“優(yōu)秀學(xué)生”。select 學(xué)生.學(xué)號,姓名,avg(成績) as 平均分 from 學(xué)生 inner join 成績 on 學(xué)生.學(xué)號=成績.學(xué)號 grou

15、p by 學(xué)生.學(xué)號,姓名 having avg(成績)=80 ;單擊工具欄保存按鈕,彈出“另存為”對話框,輸入“優(yōu)秀學(xué)生”,單擊“確定”按鈕。 查詢沒有學(xué)生數(shù)據(jù)的專業(yè)編號和專業(yè)。select 專業(yè)號,專業(yè) from 專業(yè) where 專業(yè)號 not in (select 專業(yè)號 from 學(xué)生) ; 查詢“湖北”籍1988年以后出生的學(xué)生信息。select * from 學(xué)生 where 籍貫 like 湖北* and 生日 =#1988-1-1# ; 查詢選課人數(shù)最多的課程的課程號、課程名。select top 1 課程.課程號,課程名from 課程 inner join 成績 on 課程

16、.課程號=成績.課程號 group by 課程.課程號,課程名order by count(*) desc ;2練習(xí)sql的插入、更新、刪除操作命令 在課程表中插入一門新課,數(shù)據(jù)如命令所示。insert into 課程values(06020101,會計學(xué)原理,3,06); 將“法學(xué)院(04)”開設(shè)課程的學(xué)分增加1分。update 課程set 學(xué)分=學(xué)分+1where 學(xué)院號=04 刪除“信息學(xué)院(09)”開設(shè)的沒有學(xué)生選修的課程。delete from 課程where 學(xué)院號=09 and 課程號 not in (select 課程號 from 成績)3創(chuàng)建“教師”表,包括:工號、姓名、性別

17、、生日、職稱、基本工資、學(xué)院號。寫出創(chuàng)建命令。create table 教師(工號 text(6) primary key,姓名 text(10) not null,性別 text(2),生日 date,職稱 text(8),基本工資 money,學(xué)院號 text(2) references 學(xué)院(學(xué)院號) );(三)選擇查詢操作1進(jìn)入查詢設(shè)計視圖進(jìn)行交互式選擇查詢設(shè)置啟動教學(xué)管理數(shù)據(jù)庫。 查詢“專業(yè)”表,顯示開設(shè)的所有專業(yè)涉及的學(xué)科門類。將“專業(yè)”表加入設(shè)計視圖。在qbe界面中“字段”欄選擇“專業(yè)類別”字段顯示。在設(shè)計視圖的空白處單擊右鍵,從彈出的快捷菜單中選擇“屬性”命令,打開“屬性”對話

18、框,選擇“唯一值”屬性值“是”。 查詢各專業(yè)學(xué)生的人數(shù)。將專業(yè)表和學(xué)生表加入設(shè)計視圖。在qbe界面中“字段”欄選中“專業(yè)號”和“專業(yè)”字段顯示,然后單擊工具欄中的“總計”按鈕,在qbe中增加“總計”欄。將“專業(yè)號”和“專業(yè)”字段設(shè)置為“分組”,然后選擇“學(xué)生”表的“學(xué)號”字段,設(shè)置其為“計數(shù)”,最后在學(xué)號前面加上“人數(shù):”,作為查詢后的列名。設(shè)計完成,運行查詢。 查詢沒有選課的男學(xué)生學(xué)號、姓名,即成績表中沒有記錄的學(xué)生數(shù)據(jù)。將“學(xué)生”表加入設(shè)計視圖。選擇“學(xué)號”、“姓名”字段顯示,在第3列處輸入“注:尚未選課”,選中“顯示”復(fù)選框。然后在第4列中選擇“學(xué)號”但不顯示。在“條件”欄中輸入一個子查

19、詢“not in (select 學(xué)號 from 成績)”。2進(jìn)行交叉表查詢將學(xué)生的“學(xué)號”和“姓名”作為行標(biāo)題,“課程名”作為列標(biāo)題,成績作為交叉數(shù)據(jù),生成交叉表。啟動選擇查詢設(shè)計窗口,將“學(xué)生”、“成績”和“課程”表加入設(shè)計窗口。選擇“查詢”“交叉表查詢”命令。在qbe窗口中選擇“學(xué)生”表的“學(xué)號”、“姓名”作為行標(biāo)題,“課程名”作為列標(biāo)題,“成績”總計后作為值。運行查詢。3進(jìn)行參數(shù)查詢通過參數(shù)查詢指定日期以后出生的某個民族的學(xué)生信息。啟動選擇查詢設(shè)計窗口,將“學(xué)生”表加入設(shè)計窗口,在qbe窗口中選擇“*”表示輸出學(xué)生表所有字段。然后選中“生日”字段,去掉“顯示”行的復(fù)選框,在條件行輸入sr;按同樣方式設(shè)置“民族”字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論