實驗5實驗報告_第1頁
實驗5實驗報告_第2頁
實驗5實驗報告_第3頁
實驗5實驗報告_第4頁
實驗5實驗報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

學號:20164477XX:陳家鳳實驗五SQL語言一、目的與要求1.掌握語言的查詢功能;2.掌握語言的數據操作功能;3.掌握對象資源管理器建立查詢、索引和視圖的方法;二、實驗準備1.了解語言的查改增刪四大操作的語法;2.了解查詢、索引和視圖的概念;3.了解各類常用函數的含義。三、實驗內容一)SQL查詢功能使用提供的studentdb數據庫文件,先附加到目錄樹中,再完成下列題目,SQL命令請保存到腳本文件中。1.基本查詢(1)查詢所有姓王的學生的XX、學號和性別SelectFromst_infoWhereSt_Namelike'王%'圖5-1(2)查詢全體學生的情況,查詢結構按班級降序排列,同一班級再按學號升序,并將結果存入新表new中select*intonewfromst_infoorderbyCl_Nameasc1/13圖5-2(3)對S_C_info表中選修了“體育”課的學生的平均成績生成匯總行和明細行。提示:用compute匯總計算)因2014版本已不支持compute關鍵字,所以選擇用其他方式。Selectc_no,scoreFroms_c_infoWheregroupby圖5-32.嵌套查詢(1)查詢其他班級中比“材料科學0601班”的學生年齡都大的學生XX和年齡selectfromst_infowhere'材料科學班fromst_infowhere'材料科學0601班2/13圖5-4(2)用exists查詢選修了“9710041”課程的學生XXselectst_namefromst_infowherefroms_c_infowhereand圖5-5(3)用in查詢找出沒有選修“9710041”課程的學生的XX和所在班級。selectfromst_infowherest_idnotin(selectst_idfroms_c_infowhere3/13圖5-6(4)查詢選修了學號為“2001050105”的學生所選全部課程的學生XX。selectst_namefromst_infowherest_idin(selectdistinctst_idfroms_c_infowherenotexistsfroms_c_infowherendnotexistsfroms_c_infowherest_infoandc_nofroms_c_infowhere)))圖5-74/133.連接綜合查詢及其他(1)查詢每個學生所選課程的最高成績,要求列出學號,XX,課程編號和分數。selectfromst_infoinnerjoins_c_infoonst_info.st_id=s_c_info.st_idinnerjoinc_infoonc_info.c_nowheres_c_infowherest_info.st_id=s_c_info.st_id)圖5-8(2)查詢所有學生的總成績,要求列出學號、XX、總成績,沒有選修課程的學生總成績為空。select總成績fromst_infoleftouterjoin(selectst_id,總成績froms_c_infogroupbyst_id)s_c_infoon5/13圖5-9(3)查詢“大學計算機基礎”課程考試成績前三名的學生XX和成績。selectfromst_infoinnerjoins_c_infoonst_info.st_id=s_c_info.st_idinnerjoinc_infoonand'大學計算機基礎'圖5-10(4)將s_c_info中的score列的值轉為等級制輸出,即60分以下顯示為“不及60~6970~7980~8190~100(提示:6/13在select字句中使用case?when?end語句)select成績等=casewhen90優'when80良好'when70中等'when60及格'when不及格'endfromwherest_info.st_id=s_c_info.st_idandc_info5-11(二)SQL的增刪改功能在實驗四建的studb數據庫中,SQL語句實現增刪改功。1.在S表中增加如下記:5-127/13insertSvalues('s3','X明華','男','1995/08/2100:00:00.000','MA_數學','530.0','XXXX',NULL)圖5-13圖5-142.在C表中將課程名為“數據庫”的學分更改為。updateCsetccredit='3'wherecname='據庫'圖5-15圖5-163.刪除S表中S2的學生記錄,請問是否能刪除,為什么,要如何操作。能刪除deletefromSwheresno='S2'8/13圖5-17圖5-18圖5-19圖5-20(三)索引1.在studb數據庫中,分別用對象資源管理器和SQL語言定義索引在對象資源管理器中,在T表的tname列上中建立聚集索引,降序。查看9/13聚集的效果。圖5-21圖5-221.使用SQL語言定義TC表的(tno列上的復合索引ix_tctno列設為升序,cno列設為降序先增加cno列,再刪除聚集索引。createclusteredindexix_tc10/13onT(tno,cno)圖5-23圖5-24(四)視圖在studb數據庫中操作。1.在對象資源管理中建立視圖v_s_c,列出所有學生所選課程的成績:學號,XX,班級名,課程號,課程名,成績。圖5-2511/13圖5-26圖5-272.使用SQL語言建立視圖v_cjtj,列出每位同學的學號,最高成績,最低成績,平均成績和總成績,按總成績降序排列。createviewv_cjtj(xh,zgf,zdf,pjf,zf)12/13as(selecttop100sno,max(score),min(score),avg(score),sum(score)fromSCgroupbysnoorderbysum(score)desc)圖5-28圖5-29四、思考與練習1.視圖和表有何區別?()視圖是已經編譯好的sql語句。而表不是()視圖沒有實際的物理記錄。而表有。

()表是內容,視圖是窗口()表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時對它進行修改,但視圖只能有創建的語句來修改()表是內模式,視圖是外模式()視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。()表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。()視圖的建立和刪除只影響視圖本身,不影響對應的基本表。2.視圖中的列

溫馨提示

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

評論

0/150

提交評論