




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
西安歐亞學(xué)院教案課程名稱數(shù)據(jù)庫技術(shù)應(yīng)用學(xué)時總數(shù)64任課教師李淑玲、田西壯、史博文適用專業(yè)數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)課次16審批人戴道成章節(jié)題目4.5子查詢審批時間2024.1教學(xué)目標(biāo)設(shè)計1、掌握子查詢的操作要點;2、能夠獨立完成子查詢實操練習(xí)教學(xué)重點使用子查詢對記錄進行查詢操作教學(xué)難點子查詢的條件理解教學(xué)媒體與資源選擇PPT演示,電腦和投影儀課堂教學(xué)創(chuàng)新點混合式教學(xué)方式,利用智慧樹平臺視頻資源進行理論內(nèi)容講解。課程思政元素體現(xiàn)及切入點(可選)講解子查詢操作,堅持科學(xué)的價值觀和道德觀。教學(xué)內(nèi)容及過程設(shè)計1.內(nèi)容回顧(5分)2.引入(5分)子查詢概述(10分)子查詢也稱嵌套查詢,是MySQL4.1提供的新功能,在此之前需要使用表的連接查詢來實現(xiàn)子查詢的功能。在多數(shù)情況下,表的連接查詢可以優(yōu)化子查詢效率較低的問題。所謂子查詢是指將一個查詢(內(nèi)層查詢)語句嵌套在另外一個查詢(外層查詢)語句中,內(nèi)層查詢語句的結(jié)果為外層查詢語句提供查詢條件,內(nèi)層查詢要先于外層循環(huán)執(zhí)行。子查詢(內(nèi)層查詢)語句一般存在于WHERE子句和FROM子句中,并且根據(jù)子查詢返回的記錄結(jié)果可以將子查詢分為標(biāo)量子查詢、行子查詢、列子查詢、表子查詢。連接查詢與操作(60分)標(biāo)量子查詢指的是子查詢(內(nèi)層查詢)返回的結(jié)果是一個單一值的標(biāo)量,如一個數(shù)字或者一個字符串,這種方式是子查詢中最簡單的返回形式。在標(biāo)量子查詢中可以使用“>”、“>=”、“<”、“<=”、“=”、“<>”或者“!=”這些比較運算符對子查詢的標(biāo)量結(jié)果進行比較,通常子查詢的位置在比較式的右側(cè)?!臼纠?.47】標(biāo)量子查詢,查詢班級“計算機14-1班”所有學(xué)生的學(xué)號、姓名。selectstudentno,studentnamefromtb_studentwhereclassno=(selectclassnofromtb_classwhereclassname='計算機14-1班');【示例4.48】查詢與“李明”在同一個班學(xué)習(xí)的學(xué)生學(xué)號、姓名和班號。selectstudentno,studentname,classnofromtb_students1whereclassno=(selectclassnofromtb_students2wherestudentname='李明')andstudentname!=“李明”;行子查詢指的是子查詢(內(nèi)層查詢)返回的結(jié)果集是一行N(N>=1)列,該結(jié)果集通常來自于對表中某條記錄的查詢。在行子查詢中也可以使用“>”、“>=”、“<”、“<=”、“=”、“<>”或者“!=”這些比較運算符對子查詢的結(jié)果進行比較,通常子查詢的位置在比較式的右側(cè)。【示例】行子查詢,查詢tb_student表中民族與班級與學(xué)生“李明”相同的學(xué)生信息。select*fromtb_studentwhere(nation,classno)=(selectnation,classnofromtb_studentwherestudentname='李明');列子查詢指的是子查詢(內(nèi)層查詢)返回的結(jié)果集是N(N>=1)行一列,該結(jié)果集通常來自于對表中某個字段的查詢。在列子查詢中可以使用“IN”、“ANY”、“SOME”、“ALL”、“EXISTS”操作符,不能直接使用“>”、“>=”、“<”、“<=”、“=”、“<>”或者“!=”這些比較標(biāo)量結(jié)果的比較運算符。(1)使用IN的列子查詢使用IN的列子查詢,在開發(fā)中經(jīng)常遇到。IN的意思就是判定某個值是否在一個集合中,如果在就返回TRUE,否則返回FALSE,而該集合就是我們列子查詢的結(jié)果集。我們也可以使用NOTIN來實現(xiàn)外部查詢條件不在子查詢結(jié)果集中的操作?!臼纠苛凶硬樵儭褂肐N關(guān)鍵字,查詢tb_student表中籍貫在“河南”或者“湖南”的學(xué)生信息。select*fromtb_studentwherenativein(selectnativefromtb_studentwherenativein('河南','湖南'));(2)使用ANY或SOME的列子查詢ANY關(guān)鍵詞的意思是“對于子查詢返回的結(jié)果集中的任何一個數(shù)據(jù),如果比較結(jié)果為TRUE,就返回TRUE,如果比較結(jié)果全部為FALSE,才會返回FALSE”。比如“10>ANY(12,23,5,37)”,由于10>5,所以該比較式的結(jié)果為TRUE,即只要10與集合中的任意一個數(shù)值的比較結(jié)果為TRUE,那么整個比較式就會返回TRUE。SOME是ANY的別名,很少使用。ANY通常與比較運算符“>”、“>=”、“<”、“<=”、“=”、“<>”或者“!=”聯(lián)合使用,其中:=ANY:功能與IN相同;>ANY:大于子查詢結(jié)果集中任意一個數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要大于結(jié)果集中最小的數(shù)據(jù)即可返回TRUE;>=ANY:大于等于子查詢結(jié)果集中任意一個數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要大于等于結(jié)果集中最小的數(shù)據(jù)即可返回TRUE;<ANY:小于子查詢結(jié)果集中任意一個數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要小于結(jié)果集中最大的數(shù)據(jù)即可返回TRUE;<=ANY:小于等于子查詢結(jié)果集中任意一個數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要小于等于結(jié)果集中最大的數(shù)據(jù)即可返回TRUE;<>ANY:不等于子查詢結(jié)果中任意一個數(shù)據(jù)時返回TRUE,否則返回FALSE?!臼纠?.49】列子查詢—使用ANY關(guān)鍵字,查詢男生中比某個女生出生年份晚的學(xué)生姓名和出生年份selectstudentname,year(birthday)fromtb_studentwheresex=‘男’andyear(birthday)>any(selectyear(birthday)fromtb_studentwheresex='女');(3)使用ALL的列子查詢ANY關(guān)鍵詞的意思是“對于子查詢返回的結(jié)果集中的所有數(shù)據(jù),如果比較結(jié)果都為TRUE,才會返回TRUE,如果比較結(jié)果中有一個為FALSE,則返回FALSE”。比如“10>ALL(1,2,3,4)”,由于10大于集合中的所有數(shù)據(jù),所以該比較式的結(jié)果為TRUE,即只要10大于集合中的最大值,則返回TRUE,否則返回FALSE。ALL通常與比較運算符“>”、“>=”、“<”、“<=”、“<>”或者“!=”聯(lián)合使用,其中:>ALL:大于子查詢結(jié)果集中所有數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要大于結(jié)果集中最大的數(shù)據(jù)即可返回TRUE;>=ALL:大于等于子查詢結(jié)果集中所有數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要大于等于結(jié)果集中最大的數(shù)據(jù)即可返回TRUE;<ALL:小于子查詢結(jié)果集中所有數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要小于結(jié)果集中最小的數(shù)據(jù)即可返回TRUE;<=ALL:小于等于子查詢結(jié)果集中所有數(shù)據(jù)時返回TRUE,否則返回FALSE;也就是說只要小于等于結(jié)果集中最小的數(shù)據(jù)即可返回TRUE;<>ALL:相當(dāng)于NOTIN?!臼纠?.50】列子查詢—使用ALL關(guān)鍵字,查詢男生中比所有女生出生年份晚的學(xué)生姓名和出生年份。selectstudentname,year(birthday)fromtb_studentwheresex=‘男’andyear(birthday)>all(selectyear(birthday)fromtb_studentwheresex='女');(4)使用EXISTS的列子查詢。EXISTS關(guān)鍵字表示存在的意思。使用EXISTS關(guān)鍵字時,子查詢語句返回的并不是查詢記錄的結(jié)果集,而是返回一個布爾值,如果子查詢語句查詢到滿足條件的記錄(至少返回一條記錄),則EXISTS語句就返回TRUE,否則返回FALSE;當(dāng)子查詢返回的結(jié)果為TRUE時,外層查詢語句將進行查詢,否則不進行查詢。NOTEXISTS剛好與之相反?!臼纠?.51】列子查詢—使用EXISTS關(guān)鍵字,查詢選修了課程號為“31002”的學(xué)生姓名selectstudentnamefromtb_studentawhereexists(select*fromtb_scorebwherea.studentno=b.studentnoandcourseno=‘31002’);【示例4.52】列子查詢—使用EXISTS關(guān)鍵字,查詢沒有選修課程號為“31002”的學(xué)生姓名selectstudentnamefromtb_studentawherenotexists(select*fromtb_scorebwherea.studentno=b.studentnoandcourseno=‘31002’);【示例4.53】查詢選修了全部課程的學(xué)生姓名selectstudentnamefromtb_studentxwherenotexists(select*fromtb_coursecwherenotexists(select*fromtb-scorewherestudentno=x.studentnoandcourseno=c.courseno);5.課程總結(jié)與答疑(10分)本節(jié)課主要講解了子查詢操作。教學(xué)評價與反思1.教學(xué)評價本節(jié)課內(nèi)容應(yīng)用性強,需要具有實操動手能力,需要學(xué)生能很好的結(jié)合操作,了解子查詢的相關(guān)操作。2.教學(xué)反思
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)生青春期健康教育知識講座
- 廣西核電面試題庫高級版職業(yè)選擇多面試技巧備選
- 不孕癥的病因診斷及治療選擇建議
- 高薪職位必 備技能:高級會計崗位面試題庫
- 林業(yè)公司面試題庫精 編:行業(yè)熱點與常見問題解答
- 生理性抑郁癥講解
- 小細胞性貧血
- 普外科業(yè)務(wù)匯報
- 神經(jīng)康復(fù)治療技術(shù)
- 文具玩具衛(wèi)生管理規(guī)范
- 學(xué)校食堂保潔服務(wù)方案(技術(shù)標(biāo))
- 續(xù)貸款申請書范文
- 兼職音樂教師合同范例
- 科研項目管理質(zhì)量承諾
- 《妊娠合并闌尾炎》課件
- 21、學(xué)生飲用奶食品安全應(yīng)急預(yù)案
- 特立帕肽治療骨質(zhì)疏松性骨折中國專家共識(2024版)解讀
- 第一章 有理數(shù) 大單元教學(xué)設(shè)計-2024-2025學(xué)年七年級數(shù)學(xué)上冊(人教版2024)
- 2024米面油采購合同范本
- AQ 2029-2010 金屬非金屬地下礦山主排水系統(tǒng)安全檢驗規(guī)范(正式版)
- 2024年交管12123學(xué)法減分考試題庫和答案
評論
0/150
提交評論