數據庫實驗6——數據查詢(以諸子百家爲例)

數據查詢

一、實驗目的

  1. 觀察查詢結果, 體會SELECT語句實際應用;
  2. 要求學生能夠在查詢分析器中使用SELECT語句進行簡單查詢。
  3. 熟練掌握簡單表的數據查詢、數據排序和數據連接查詢的操作方法。

二、實驗要求

  1. 完成所要求的全部查詢。
  2. 注意操作結果的截圖與保存,供撰寫實驗報告使用。

三、實驗內容

…….
所有的查詢全部用Transact-SQL語句實現。此部分查詢包括投影、選擇條件表達、數據排序、使用臨時表等。
對EDUC數據庫實現以下查詢:

將student表中sname爲“魯班”的改爲“魯班七號”。(學生姓名修改,具體數據根據情況而定)
問題:字符信息應該用單引號括起來
在這裏插入圖片描述

結果:
在這裏插入圖片描述

改正查詢成功:在這裏插入圖片描述
在這裏插入圖片描述

1) 查詢“儒家”專業的學生學號和姓名;

遇到問題:開始時候想要利用兩個表的笛卡爾積構造一個臨時的大表供查詢,事實證明,此時用clsName作爲子查詢和最終查詢的連接沒有成功,因爲此時的clsName已經混淆了,反正就是兩個表的笛卡爾積反倒把兩者的關係搞得一團糟,所以,直接去掉,利用子查詢。
在這裏插入圖片描述

改正查詢成功:
在這裏插入圖片描述

2) 查詢選修課程“0001”且成績在80~90 之間的學生學號和成績,並將成績乘以係數0.75 輸出;
在這裏插入圖片描述

3) 查詢“0001”課程的成績高於“趙一”的學生學號和成績;
在這裏插入圖片描述
在這裏插入圖片描述

4) 查詢沒有選修“0002”課程的學生姓名。
利用子查詢即可完成相應功能。
在這裏插入圖片描述

四、實驗步驟

在查詢分析器中完成上述所有查詢。
具體見內容

五、實驗總結

數據的查詢方法不唯一,可以探尋優化方法。
1、因爲在所建表中未有“計算機應用”專業,所以可用class.specialty=’計算機應用’進行查詢。
2、對於問題“2”中的用’distinct‘進行查詢,這樣做可避免了選課學生重複出現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章