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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、+right("清華大學出版社",3);select "你畢業(yè)的年份是", val(left(你的學號,4)+4;select "現(xiàn)在是"+str(year(date()+"年","現(xiàn)在的時間是:"+cstr(time();select "張三">"李四","abcd"<"abcd",(date()-#1992-10-8#)>1000;(二)sql命令進行查詢和操作1練習sql查詢的select語句

4、啟動教學管理數(shù)據(jù)庫,在數(shù)據(jù)庫窗口對象欄中單擊“查詢”,然后進入sql視圖。在“sql視圖”中輸入以下select命令,查看執(zhí)行結果,并仔細體會查詢的實現(xiàn)。 查詢“學院”、“專業(yè)”、“學生”完整數(shù)據(jù)。select * from (學院 inner join 專業(yè) on 學院.學院號=專業(yè).學院號) inner join 學生 on 專業(yè).專業(yè)號=學生.專業(yè)號); 查詢“工商管理”專業(yè)所有女生信息。select 專業(yè),學生.* from 專業(yè) inner join 學生 on 專業(yè).專業(yè)號=學生.專業(yè)號where 專業(yè).專業(yè)="工商管理" and 學生.性別="女&q

5、uot;; 查詢平均成績在80分以上的各位學生的學號、姓名和平均分。保存為查詢對象,對象名“優(yōu)秀學生”。select 學生.學號,姓名,avg(成績) as 平均分 from 學生 inner join 成績 on 學生.學號=成績.學號 group by 學生.學號,姓名 having avg(成績)>=80 ;單擊工具欄保存按鈕,彈出“另存為”對話框,輸入“優(yōu)秀學生”,單擊“確定”按鈕。 查詢沒有學生數(shù)據(jù)的專業(yè)編號和專業(yè)。select 專業(yè)號,專業(yè) from 專業(yè) where 專業(yè)號 not in (select 專業(yè)號 from 學生) ; 查詢“湖北”籍1988年以后出生的學生信

6、息。select * from 學生 where 籍貫 like "湖北*" and 生日 >=#1988-1-1# ; 查詢選課人數(shù)最多的課程的課程號、課程名。select top 1 課程.課程號,課程名 from 課程 inner join 成績 on 課程.課程號=成績.課程號 group by 課程.課程號,課程名order by count(*) desc ;2練習sql的插入、更新、刪除操作命令 在課程表中插入一門新課,數(shù)據(jù)如命令所示。insert into 課程values("06020101","會計學原理",

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

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

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

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

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

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

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

14、單擊查詢工具欄的“視圖”工具的下拉按鈕,選擇“sql視圖”選項。2不同類型數(shù)據(jù)的表達式運算select -5.122+(17 mod 3);select "hello "+",world!",left("清華大學出版社",2)+right("清華大學出版社",3);select "你畢業(yè)的年份是", val(left(你的學號,4)+4;select "現(xiàn)在是"+str(year(date()+"年","現(xiàn)在的時間是:"+cstr(ti

15、me();select "張三">"李四","abcd"<"abcd",(date()-#1992-10-8#)>1000;(二)sql命令進行查詢和操作1練習sql查詢的select語句 查詢“學院”、“專業(yè)”、“學生”完整數(shù)據(jù)。select * from (學院 inner join 專業(yè) on 學院.學院號=專業(yè).學院號) inner join 學生 on 專業(yè).專業(yè)號=學生.專業(yè)號); 查詢“工商管理”專業(yè)所有女生信息。select 專業(yè),學生.* from 專業(yè) inner join 學

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

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

18、命令所示。insert into 課程values("06020101","會計學原理",3,"06"); 將“法學院(04)”開設課程的學分增加1分。update 課程set 學分=學分+1where 學院號="04" 刪除“信息學院(09)”開設的沒有學生選修的課程。delete from 課程where 學院號="09" and 課程號 not in (select 課程號 from 成績)3創(chuàng)建“教師”表,包括:工號、姓名、性別、生日、職稱、基本工資、學院號。寫出創(chuàng)建命令。create

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

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

21、2進行交叉表查詢將學生的“學號”和“姓名”作為行標題,“課程名”作為列標題,成績作為交叉數(shù)據(jù),生成交叉表。啟動選擇查詢設計窗口,將“學生”、“成績”和“課程”表加入設計窗口。選擇“查詢”“交叉表查詢”命令。在qbe窗口中選擇“學生”表的“學號”、“姓名”作為行標題,“課程名”作為列標題,“成績”總計后作為值。運行查詢。3進行參數(shù)查詢通過參數(shù)查詢指定日期以后出生的某個民族的學生信息。啟動選擇查詢設計窗口,將“學生”表加入設計窗口,在qbe窗口中選擇“*”表示輸出學生表所有字段。然后選中“生日”字段,去掉“顯示”行的復選框,在條件行輸入>sr;按同樣方式設置“民族”字段。然后選擇“查詢”“參數(shù)”命令,彈出“查詢參數(shù)”對話框,分別設置sr和mz的類型,單擊“確定”按鈕,設置完畢。(四)動作查詢操作1生成表查詢操作練習將“查詢平均成績在80分以上的各位學生的學號、姓名和平均分”的結果生成新表,表名“優(yōu)秀學生名單”。輸入sql命令后,選擇“查詢”“生成表”查詢,彈出“生成表”對話

溫馨提示

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

評論

0/150

提交評論