




已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1,第4章查詢和視圖,淮海工學(xué)院計算機系郁洪波,2,問題:為什么要使用查詢?,就目前所學(xué)的知識,如何在學(xué)生表中找到姓名為“張三”的學(xué)生的籍貫信息?,3,如果表中的記錄有上萬條,怎么找?,4,假如要查找“張三”的所有課程的成績,怎么辦?,5,假如要查找“張三”的所有課程的平均分和總分,怎么辦?,6,查詢的定義和本質(zhì),定義:所謂“查詢”,是指向一個數(shù)據(jù)庫發(fā)出的檢索信息的請求,它使用一些條件提取特定的記錄。本質(zhì):一個查詢就是一條SELECT-SQL語句。查詢的結(jié)果是一個動態(tài)的數(shù)據(jù)集合。查詢的數(shù)據(jù)源可以是單張表也可以是多張表,(多張表之間必須是相關(guān)聯(lián)的)以及視圖,7,創(chuàng)建查詢的四種方法,Createquery命令方式文件新建項目管理器(用得較多,上機必考)直接寫select-SQL語句。,8,一個簡單的單表查詢的例子,例題1:要求檢索出學(xué)生表中所有學(xué)生的信息,并按照年齡由小到大排序。幾個選項卡的說明:輸出字段:字段別名的使用排序依據(jù):雜項:篩選:輸入實例時的注意事項(P113)自己考慮以下查詢?nèi)绾卧O(shè)置?1:查詢出籍貫不是江蘇的所有學(xué)生。2:查詢出籍貫不是江蘇的所有男學(xué)生的信息。3:查詢出籍貫是上海或北京的所有學(xué)生,9,查詢文件的詳細(xì)內(nèi)容,保存新建的查詢文件后會生成后綴名.qpr的文件文件內(nèi)容為一條select-sql語句,例如:SELECTXs.xh,Xs.xm,Xs.xb,Xs.jg,Xs.csrqFROMsjk!xsWHEREXs.jg江蘇ORDERBYXs.csrq運行查詢使用DO命令,例如DO*.qpr注意:必須加上擴展名查詢結(jié)果的輸出去向:默認(rèn)為瀏覽窗口。,10,創(chuàng)建多表查詢,例題2:顯示每位同學(xué)的所有課程的成績,要求每個人的成績按照課程代號排序.多表之間的連接類型:內(nèi)連接(inner-join):用得最多。左聯(lián)接(left-join)右連接(right-join)完全連接(full-join)若兩張表是一對多關(guān)系,一般主表在左,子表在右。,11,對查詢使用分組命令,目前為止,查詢產(chǎn)生的所有數(shù)據(jù)都直接來自數(shù)據(jù)庫,這也是最基本的應(yīng)用類型。查詢也可以對原始數(shù)據(jù)進(jìn)行統(tǒng)計分析等操作產(chǎn)生新的數(shù)據(jù)。例如使用count(),sum()和avg()函數(shù)分別進(jìn)行計數(shù),求和以及求平均值計算。,12,分組舉例,例題3:統(tǒng)計每個同學(xué)所有課程的平均成績。并按照平均分由小到大排序。結(jié)果應(yīng)如下圖所示。,13,分組舉例,所謂分組,就是對表中記錄取重復(fù)值的多條記錄進(jìn)行壓縮,形成一條結(jié)果記錄,以完成基于一組紀(jì)錄的計算或統(tǒng)計。,14,分組舉例,進(jìn)行實際操作。選擇分組依據(jù)選項卡,對xh字段進(jìn)行分組。查看sql語句,分組的關(guān)鍵字為GROUPBY特別注意:分組依據(jù)中有一個“滿足條件”選項,關(guān)鍵字是“HAVING”。它和篩選條件(“where”)有何區(qū)別?分組字段不一定是已選定輸出的字段,但分組字段不能是計算字段。一般來說,分組字段是輸出的第一個字段。,15,分組舉例,例題5:查詢教師表中每個系教師的人數(shù),工資總額和平均工資,并按平均工資降序排列。查詢輸出中必須包含系名,系人數(shù),工資總額和平均工資四個列。分析步驟:1.包含幾張表(添加順序如何確定?)2.確定分組字段(小竅門)3.人數(shù),工資總額,平均工資的表達(dá)式怎么寫?4.開始設(shè)計,16,常用的輸出字段表達(dá)式的寫法,Count(*)as總?cè)藬?shù)Sum(iif(xb=“男”,1,0)as男生人數(shù)Sum(iif(xb=“男”,1,0)/count(*)as男生比例Sum(iif(cj=60),xf,0)as總學(xué)分Sum(iif(cj=60,1,0)/count(*)as及格率Sum(iif(year(date()-year(csrq)40,1,0)as四十歲以上教師人數(shù),17,5.2視圖的使用,視圖(view)和查詢都是定義一條select-SQL語句,從數(shù)據(jù)庫中提取數(shù)據(jù)。但查詢得到的是只讀的結(jié)果集。而視圖得到的結(jié)果集可以修改,并反饋到源數(shù)據(jù)表中。創(chuàng)建視圖的方法:視圖設(shè)計器CREATEVIEW命令視圖的使用:USE命令創(chuàng)建好的視圖不以單獨的文件形式存在。,18,5.3SELECT-SQL語句,SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言),是絕大多數(shù)數(shù)據(jù)庫都支持的語言,除了查詢外還可以實現(xiàn)其它功能。SQL語句包括以下幾類:Select-SQL查詢AlterSQL修改表結(jié)構(gòu)CreatetableSQL創(chuàng)建表DeleteSQL刪除記錄InsertSQL追加新記錄UpdateSQL更新表中的記錄,19,SELECT-SQL語法格式,SELECTALL|DISTINCTTOP輸出字段名稱FROM指定數(shù)據(jù)源INTO指定查詢結(jié)果去向WHERE篩選源表記錄GROUPBY分組依據(jù)HAVING篩選結(jié)果記錄UNION組合查詢結(jié)果ORDERBY排序,20,單表查詢舉例,例1:顯示JS表中所有教師的工號和姓名SELECTgh,xmFROMjs例2:顯示XS表中學(xué)號以“99”開頭的學(xué)生情況。SELECT*FROMxsWHERElike(99*,xh),21,多表查詢舉例,例3:顯示CJ表中有不及格成績的學(xué)生的xh和xm和cj,成績按照由小到大排序。SELECTcj.xh,xs.xm,cj.cj;FROMcj,xs;WHEREcj.cj60ANDcj.xh=xs.xh增加條件1:要求多門不及格者顯示一次。增加條件2:只顯示成績倒數(shù)的五個人。,22,含有計算字段的查詢,例4:顯示CJ表中的課程代號及最高分。SELECTcj.kcdh,MAX(cj.cj)as“最高分”FROMcj;GROUPBYcj.kcdh增加條件1:要求課程名稱也要顯示。增加條件2:要求查詢結(jié)果輸出到kc_maxcj.dbf表中,23,基于視圖的查詢,例5:已知在SJK庫中包含一個視圖viewKcXsCj,該視圖包含四個字段:kc.kcm,cj.xh,xs.xm和cj.cj?,F(xiàn)在從該視圖中查詢課程不及格學(xué)生的名單,查詢結(jié)果包含視圖中的所有字段。SELECT*FROMviewKcXsCjWHEREviewKcXsCj.cj60,24,組合查詢,例6:查詢?nèi)熒麊?。要求如果是教師必須注明“教師”,結(jié)果中包含四個列:系名、類別、姓名和性別,并按系名排序。(提問)SELECTxim.ximing,教師AS類別,js.xm,js.xbFROMjs,ximwherejs.xdh=xim.xdh;UNION;SELECTxim.ximing,學(xué)生AS類別,xs.xm,xs.xbFROMxs,ximwherexs.xdh=xim.xdh;ORDERBY1使用UNION子句要遵守的規(guī)則,P124,25,第五章小結(jié),為什么要使用查詢?上機必考:使用查詢設(shè)計器創(chuàng)建查詢的方法.查詢文件的擴展名?里面包含的內(nèi)容?如何執(zhí)行查詢文件?視圖和查詢的區(qū)別和聯(lián)系?筆試必考:Select-SQL語句的用法(幾個主要關(guān)鍵字的使用),26,作業(yè):,填空題全部,其中5-10題只要寫SQL語句即可選擇題自己做書上。,27,上機題演示(06年春),在test項目中已經(jīng)存在查詢chaxun,已知在sjk的教師(js)表中含有系代號(
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水果罐頭加工中的食品安全文化建設(shè)與員工素質(zhì)教育考核試卷
- 石棉云母礦選礦廠經(jīng)濟效益分析考核試卷
- 礦產(chǎn)勘查中的地質(zhì)信息技術(shù)應(yīng)用考核試卷
- 海上旅客運輸企業(yè)內(nèi)部審計與風(fēng)險管理考核試卷
- 稀土金屬礦選礦廠環(huán)境管理體系構(gòu)建與運行考核試卷
- 新材料與新技術(shù)改變世界的力量考核試卷
- 化學(xué)礦的綠色高效利用技術(shù)研究考核試卷
- 生態(tài)保護工程生態(tài)用水保障考核試卷
- 肉類加工設(shè)備選用與調(diào)試考核試卷
- 高效噪聲治理及施工環(huán)境保護服務(wù)協(xié)議
- 廣州醫(yī)學(xué)院攻讀臨床醫(yī)學(xué)專業(yè)學(xué)位研究生培養(yǎng)方案
- 經(jīng)導(dǎo)管主動脈瓣置換術(shù)(TAVR)患者的麻醉管理
- 2024-2030年中國預(yù)付卡和禮品卡行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 國能遼寧北票 200MW 風(fēng)力發(fā)電項目地質(zhì)災(zāi)害危險性評估報告
- 《中電聯(lián)團體標(biāo)準(zhǔn)-220kV變電站并聯(lián)直流電源系統(tǒng)技術(shù)規(guī)范》
- 橋梁博士畢業(yè)設(shè)計電子版
- MOOC 犯罪心理學(xué)-西南政法大學(xué) 中國大學(xué)慕課答案
- 家族信托與家族財富傳承
- 杭港地鐵施工培訓(xùn)課件
- 電能質(zhì)量技術(shù)監(jiān)督培訓(xùn)課件
- 豐富多彩的課間活動課件
評論
0/150
提交評論