




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1,第4章查詢和視圖,淮海工學(xué)院計(jì)算機(jī)系郁洪波,2,問(wèn)題:為什么要使用查詢?,就目前所學(xué)的知識(shí),如何在學(xué)生表中找到姓名為“張三”的學(xué)生的籍貫信息?,3,如果表中的記錄有上萬(wàn)條,怎么找?,4,假如要查找“張三”的所有課程的成績(jī),怎么辦?,5,假如要查找“張三”的所有課程的平均分和總分,怎么辦?,6,查詢的定義和本質(zhì),定義:所謂“查詢”,是指向一個(gè)數(shù)據(jù)庫(kù)發(fā)出的檢索信息的請(qǐng)求,它使用一些條件提取特定的記錄。本質(zhì):一個(gè)查詢就是一條SELECT-SQL語(yǔ)句。查詢的結(jié)果是一個(gè)動(dòng)態(tài)的數(shù)據(jù)集合。查詢的數(shù)據(jù)源可以是單張表也可以是多張表,(多張表之間必須是相關(guān)聯(lián)的)以及視圖,7,創(chuàng)建查詢的四種方法,Createquery命令方式文件新建項(xiàng)目管理器(用得較多,上機(jī)必考)直接寫(xiě)select-SQL語(yǔ)句。,8,一個(gè)簡(jiǎn)單的單表查詢的例子,例題1:要求檢索出學(xué)生表中所有學(xué)生的信息,并按照年齡由小到大排序。幾個(gè)選項(xiàng)卡的說(shuō)明:輸出字段:字段別名的使用排序依據(jù):雜項(xiàng):篩選:輸入實(shí)例時(shí)的注意事項(xiàng)(P113)自己考慮以下查詢?nèi)绾卧O(shè)置?1:查詢出籍貫不是江蘇的所有學(xué)生。2:查詢出籍貫不是江蘇的所有男學(xué)生的信息。3:查詢出籍貫是上?;虮本┑乃袑W(xué)生,9,查詢文件的詳細(xì)內(nèi)容,保存新建的查詢文件后會(huì)生成后綴名.qpr的文件文件內(nèi)容為一條select-sql語(yǔ)句,例如:SELECTXs.xh,Xs.xm,Xs.xb,Xs.jg,Xs.csrqFROMsjk!xsWHEREXs.jg江蘇ORDERBYXs.csrq運(yùn)行查詢使用DO命令,例如DO*.qpr注意:必須加上擴(kuò)展名查詢結(jié)果的輸出去向:默認(rèn)為瀏覽窗口。,10,創(chuàng)建多表查詢,例題2:顯示每位同學(xué)的所有課程的成績(jī),要求每個(gè)人的成績(jī)按照課程代號(hào)排序.多表之間的連接類型:內(nèi)連接(inner-join):用得最多。左聯(lián)接(left-join)右連接(right-join)完全連接(full-join)若兩張表是一對(duì)多關(guān)系,一般主表在左,子表在右。,11,對(duì)查詢使用分組命令,目前為止,查詢產(chǎn)生的所有數(shù)據(jù)都直接來(lái)自數(shù)據(jù)庫(kù),這也是最基本的應(yīng)用類型。查詢也可以對(duì)原始數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析等操作產(chǎn)生新的數(shù)據(jù)。例如使用count(),sum()和avg()函數(shù)分別進(jìn)行計(jì)數(shù),求和以及求平均值計(jì)算。,12,分組舉例,例題3:統(tǒng)計(jì)每個(gè)同學(xué)所有課程的平均成績(jī)。并按照平均分由小到大排序。結(jié)果應(yīng)如下圖所示。,13,分組舉例,所謂分組,就是對(duì)表中記錄取重復(fù)值的多條記錄進(jìn)行壓縮,形成一條結(jié)果記錄,以完成基于一組紀(jì)錄的計(jì)算或統(tǒng)計(jì)。,14,分組舉例,進(jìn)行實(shí)際操作。選擇分組依據(jù)選項(xiàng)卡,對(duì)xh字段進(jìn)行分組。查看sql語(yǔ)句,分組的關(guān)鍵字為GROUPBY特別注意:分組依據(jù)中有一個(gè)“滿足條件”選項(xiàng),關(guān)鍵字是“HAVING”。它和篩選條件(“where”)有何區(qū)別?分組字段不一定是已選定輸出的字段,但分組字段不能是計(jì)算字段。一般來(lái)說(shuō),分組字段是輸出的第一個(gè)字段。,15,分組舉例,例題5:查詢教師表中每個(gè)系教師的人數(shù),工資總額和平均工資,并按平均工資降序排列。查詢輸出中必須包含系名,系人數(shù),工資總額和平均工資四個(gè)列。分析步驟:1.包含幾張表(添加順序如何確定?)2.確定分組字段(小竅門)3.人數(shù),工資總額,平均工資的表達(dá)式怎么寫(xiě)?4.開(kāi)始設(shè)計(jì),16,常用的輸出字段表達(dá)式的寫(xiě)法,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語(yǔ)句,從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)。但查詢得到的是只讀的結(jié)果集。而視圖得到的結(jié)果集可以修改,并反饋到源數(shù)據(jù)表中。創(chuàng)建視圖的方法:視圖設(shè)計(jì)器CREATEVIEW命令視圖的使用:USE命令創(chuàng)建好的視圖不以單獨(dú)的文件形式存在。,18,5.3SELECT-SQL語(yǔ)句,SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言),是絕大多數(shù)數(shù)據(jù)庫(kù)都支持的語(yǔ)言,除了查詢外還可以實(shí)現(xiàn)其它功能。SQL語(yǔ)句包括以下幾類:Select-SQL查詢AlterSQL修改表結(jié)構(gòu)CreatetableSQL創(chuàng)建表DeleteSQL刪除記錄InsertSQL追加新記錄UpdateSQL更新表中的記錄,19,SELECT-SQL語(yǔ)法格式,SELECTALL|DISTINCTTOP輸出字段名稱FROM指定數(shù)據(jù)源INTO指定查詢結(jié)果去向WHERE篩選源表記錄GROUPBY分組依據(jù)HAVING篩選結(jié)果記錄UNION組合查詢結(jié)果ORDERBY排序,20,單表查詢舉例,例1:顯示JS表中所有教師的工號(hào)和姓名SELECTgh,xmFROMjs例2:顯示XS表中學(xué)號(hào)以“99”開(kāi)頭的學(xué)生情況。SELECT*FROMxsWHERElike(99*,xh),21,多表查詢舉例,例3:顯示CJ表中有不及格成績(jī)的學(xué)生的xh和xm和cj,成績(jī)按照由小到大排序。SELECTcj.xh,xs.xm,cj.cj;FROMcj,xs;WHEREcj.cj60ANDcj.xh=xs.xh增加條件1:要求多門不及格者顯示一次。增加條件2:只顯示成績(jī)倒數(shù)的五個(gè)人。,22,含有計(jì)算字段的查詢,例4:顯示CJ表中的課程代號(hào)及最高分。SELECTcj.kcdh,MAX(cj.cj)as“最高分”FROMcj;GROUPBYcj.kcdh增加條件1:要求課程名稱也要顯示。增加條件2:要求查詢結(jié)果輸出到kc_maxcj.dbf表中,23,基于視圖的查詢,例5:已知在SJK庫(kù)中包含一個(gè)視圖viewKcXsCj,該視圖包含四個(gè)字段:kc.kcm,cj.xh,xs.xm和cj.cj。現(xiàn)在從該視圖中查詢課程不及格學(xué)生的名單,查詢結(jié)果包含視圖中的所有字段。SELECT*FROMviewKcXsCjWHEREviewKcXsCj.cj60,24,組合查詢,例6:查詢?nèi)熒麊?。要求如果是教師必須注明“教師”,結(jié)果中包含四個(gè)列:系名、類別、姓名和性別,并按系名排序。(提問(wèn))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é),為什么要使用查詢?上機(jī)必考:使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢的方法.查詢文件的擴(kuò)展名?里面包含的內(nèi)容?如何執(zhí)行查詢文件?視圖和查詢的區(qū)別和聯(lián)系?筆試必考:Select-SQL語(yǔ)句的用法(幾個(gè)主要關(guān)鍵字的使用),26,作業(yè):,填空題全部,其中5-10題只要寫(xiě)SQL語(yǔ)句即可選擇題自己做書(shū)上。,27,上機(jī)題演示(06年春),在test項(xiàng)目中已經(jīng)存在查詢chaxun,已知在sjk的教師(js)表中含有系代號(hào)(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)測(cè)試卷(含答案)
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)強(qiáng)化訓(xùn)練試卷B卷附答案
- 中職學(xué)生心理健康教育課件
- 腫瘤消融治療護(hù)理
- 行政年終個(gè)人工作總結(jié)
- 臨床護(hù)士分層培訓(xùn)
- 痔瘡的中醫(yī)護(hù)理
- 全網(wǎng)營(yíng)銷課程培訓(xùn)
- 腫瘤科敘事護(hù)理實(shí)踐體系
- 幼兒園小班美術(shù)教案制作紅綠燈
- 2025年內(nèi)蒙古自治區(qū)呼和浩特市中考二模語(yǔ)文試題(含答案)
- 醫(yī)院圍手術(shù)期管理制度
- 天津市西青區(qū)楊柳青第二中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期4月期中數(shù)學(xué)試題(含部分答案)
- 2025春統(tǒng)編版小學(xué)道德與法治五年級(jí)下冊(cè)(全冊(cè))教案、教學(xué)反思、教學(xué)計(jì)劃(附教材目錄P141)
- 高血壓病人個(gè)體化健康教育方案
- 腦挫傷患者的護(hù)理
- 腰椎間盤突出癥手術(shù)的圍手術(shù)期護(hù)理
- 警衛(wèi)道路培訓(xùn)課件
- GB/T 45355-2025無(wú)壓埋地排污、排水用聚乙烯(PE)管道系統(tǒng)
- 安全生產(chǎn)風(fēng)險(xiǎn)防控課件
- ISO45001 2024職業(yè)健康安全管理體系要求及使用指南
評(píng)論
0/150
提交評(píng)論