




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)查詢(xún)之(二)第五章1目標(biāo)使用LIKE、BETWEEN、IN進(jìn)行模糊查詢(xún)?cè)诓樵?xún)中使用聚合函數(shù)使用GROUPBY進(jìn)行分組查詢(xún)進(jìn)行多表聯(lián)結(jié)查詢(xún)2模糊查詢(xún)—LIKE查詢(xún)時(shí),字段中的內(nèi)容并不一定與查詢(xún)內(nèi)容完全匹配,只要字段中含有這些內(nèi)容SELECTSNameAS姓名FROMStudentsWHERESNameLIKE'張%'姓名張果老張飛張揚(yáng)出去思考:以下的SQL語(yǔ)句:SELECT*FROM數(shù)據(jù)表WHERE編號(hào)LIKE'00[^8]%[A,C]%‘可能會(huì)查詢(xún)出的編號(hào)值為()。A、9890ACDB、007_AFFC、008&DCGD、KK8C3通配符通配符解釋示例‘_’一個(gè)字符ALike'C_'%任意長(zhǎng)度的字符串BLike'CO_%'[]括號(hào)中所指定范圍內(nèi)的一個(gè)字符CLike'9W0[1-2]'[^]不在括號(hào)中所指定范圍內(nèi)的一個(gè)字符DLike‘%[A-D][^1-2]'4數(shù)據(jù)庫(kù)表記錄5模糊查詢(xún)—ISNULL把某一字段中內(nèi)容為空的記錄查詢(xún)出來(lái)SELECTSNameAs姓名,SAddressAS地址FROMStudentWHERESAddress
ISNULL姓名地址張果老NULL李尋歡NULL令狐沖NULL程靈素NULL……6模糊查詢(xún)—BETWEEN把某一字段中內(nèi)容在特定范圍內(nèi)的記錄查詢(xún)出來(lái)SELECTSno,degreeFROMSCoreWHEREdegree
BETWEEN60AND80SnoScore10164103921039210588……7模糊查詢(xún)—IN把某一字段中內(nèi)容與所列出的查詢(xún)內(nèi)容列表匹配的記錄查詢(xún)出來(lái)SELECTSNameAS學(xué)員姓名,SAddressAs地址FROMStudentWHERESAddress
IN
('北京','廣州','上海')學(xué)員姓名地址李揚(yáng)廣州于紫電上海李青霜北京司馬弓上?!?問(wèn)題成績(jī)表中存儲(chǔ)了所有學(xué)員的成績(jī),我想知道:學(xué)員的總成績(jī)、平均成績(jī)?cè)趺崔k?9聚合函數(shù)-1SUMAVGSELECTSUM(degree
)FROMScoreWHEREsno='105'SELECTSUM(degree),snoFROMScoreWHEREsno='105'×SELECTAVG(degree
)AS平均成績(jī)
FromScoreWHEREdegree
>=6010聚合函數(shù)-2MAX、MINCOUNTselectavg(degree)as平均成績(jī),max(degree)as最高分,min(degree)as最低分FromScoreWheredegree>=60SELECT
COUNT(*)
AS及格人數(shù)FromScoreWHEREdegree>=6011問(wèn)題如果不是統(tǒng)計(jì)所有人所有課程的總成績(jī)而是想求每一門(mén)課的平均績(jī)或者某個(gè)人的所有課的總成績(jī)?cè)趺崔k?12分組匯總這三個(gè)數(shù)取平均值第4-6分?jǐn)?shù)取平均值最后三個(gè)數(shù)取平均值有一個(gè)學(xué)員參加考試1314分組查詢(xún)—GROUPBYSELECT
cno,AVG(degree)
AS課程平均成績(jī)FROMScoreGROUPBY
cno15利用HAVING篩選結(jié)果表在實(shí)際使用中,往往還要對(duì)分組后的結(jié)果按某種條件再進(jìn)行篩選,而只輸出滿(mǎn)足用戶(hù)指定條件的記錄。在SQL中,HAVING子句能完成此功能?!癢HERE”子句與“HAVING”子句的區(qū)別在于作用對(duì)象不同:1、WHERE子句的作用對(duì)象是表,是從表中選擇出滿(mǎn)足篩選條件的記錄。2、HAVING子句的作用對(duì)象是組,是從組中選擇出滿(mǎn)足篩選條件的記錄。16【例5】查詢(xún)‘3-105’號(hào)課程的平均分。本例主要學(xué)習(xí)有關(guān)GROUPBY子句的表達(dá)式書(shū)寫(xiě)格式。
selectcno,avg(degree)fromscore
groupbycnohavingcno='3-105'17分組查詢(xún)WHEREGROUPBYHAVINGWHERE子句從數(shù)據(jù)源中去掉不符合其搜索條件的數(shù)據(jù)GROUPBY子句搜集數(shù)據(jù)行到各個(gè)組中,統(tǒng)計(jì)函數(shù)為各個(gè)組計(jì)算統(tǒng)計(jì)值HAVING子句去掉不符合其組搜索條件的各組數(shù)據(jù)行18多表聯(lián)結(jié)查詢(xún)—問(wèn)題學(xué)員內(nèi)部測(cè)試成績(jī)查詢(xún)的每次顯示的都是學(xué)員的編號(hào)信息,因?yàn)樵摫碇兄淮鎯?chǔ)了學(xué)員的編號(hào);實(shí)際上最好顯示學(xué)員的姓名,而姓名存儲(chǔ)在學(xué)員信息表;如何同時(shí)從這兩個(gè)表中取得數(shù)據(jù)?19多表聯(lián)結(jié)查詢(xún)—分類(lèi)內(nèi)聯(lián)結(jié)(INNERJOIN)外聯(lián)結(jié)——左外聯(lián)結(jié)(LEFTJOIN)——右外聯(lián)結(jié)(RIGHTJOIN)——完整外聯(lián)結(jié)(FULLJOIN)20SELECT S.SName,C.CNo,C.DegreeFrom ScoreASCINNERJOIN StudentASSON C.SNo=S.SNoScoreSNoCNodegree122300100100200297896776300381猜一猜:這樣寫(xiě),返回的查詢(xún)結(jié)果是一樣的嗎?SELECT S.SName,C.CNo,C.degreeFrom StudentASSINNERJOIN ScoreASCON C.SNo=S.SNo多表聯(lián)結(jié)查詢(xún)—內(nèi)聯(lián)結(jié)-1StundentSName梅超風(fēng)陳玄風(fēng)陸乘風(fēng)曲靈風(fēng)SNo1234查詢(xún)結(jié)果SName梅超風(fēng)陳玄風(fēng)陳玄風(fēng)陸乘風(fēng)CNodegree00100100200297896776陸乘風(fēng)0038121多表聯(lián)結(jié)查詢(xún)—內(nèi)聯(lián)結(jié)-2SELECTStudent.SName,Score.CNo,Score.DegreeFROM Student,ScoreWHERE
Student.SNo=Score.SNo22多表聯(lián)結(jié)查詢(xún)—三表聯(lián)結(jié)SELECT
S.SNameAS姓名,CS.CNameAS課程,C.DegreeAS成績(jī)FROMStudentASSINNERJOINScoreASCON(S.SNo=C.SNo)INNERJOINCourseASCSON(CS.CNo=C.CNo)23ScoreSNoCNoDegree122300100100200297896776300381多表聯(lián)結(jié)查詢(xún)—左外聯(lián)結(jié)StundentsSName梅超風(fēng)陳玄風(fēng)陸乘風(fēng)曲靈風(fēng)SNo1234查詢(xún)結(jié)果SName梅超風(fēng)陳玄風(fēng)陳玄風(fēng)陸乘風(fēng)CNoDegree00100100200297896776陸乘風(fēng)00381曲靈風(fēng)NULLNULLSELECT
S.SName,C.Cno,C.DegreeFrom
StudentASSLEFTJOIN ScoreASCON
C.SNo=S.SNo猜一猜:這樣寫(xiě),返回的查詢(xún)結(jié)果是一樣的嗎?SELECT
S.SName,C.CNo,C.DegreeFrom
ScoreASCLEFTJOIN
StudentASSON
C.SNo=S.SNo24多表聯(lián)結(jié)查詢(xún)—右外聯(lián)結(jié)SELECT S.SName,C.CNo,C.DegreeFrom ScoreASCRIGHTOUTERJOIN StudentASSON C.SNo=S.SNo25子查詢(xún)
子查詢(xún)就是包含在另一個(gè)查詢(xún)中的查詢(xún)。可以使用一個(gè)SELECT語(yǔ)句返回將由另一個(gè)SELECT語(yǔ)句使用的記錄,此時(shí)外部查詢(xún)稱(chēng)為“父查詢(xún)”,內(nèi)部查詢(xún)稱(chēng)為“子查詢(xún)”。子查詢(xún)包括兩種類(lèi)型:嵌套查詢(xún)相關(guān)查詢(xún)26什么是子查詢(xún)2-1問(wèn)題:編寫(xiě)T-SQL語(yǔ)句,查看年齡比“李軍”大的學(xué)員,要求顯示這些學(xué)員的信息?分析:
第一步:求出“李軍”的年齡(即生日比李軍早的學(xué)員,1975-10-2<1976-2-20);第二步:利用WHERE語(yǔ)句,篩選年齡比“李軍”大的學(xué)員;學(xué)員信息表27什么是子查詢(xún)2-2采用子查詢(xún)實(shí)現(xiàn)SELECT*FROMstudentWHEREsbirthday<(SELECTsbirthdayFROMstudentwheresName='李軍')子查詢(xún)子查詢(xún)?cè)赪HERE語(yǔ)句中的一般用法:SELECT…FROM表1WHERE字段1>(子查詢(xún))外面的查詢(xún)稱(chēng)為父查詢(xún),括號(hào)中嵌入的查詢(xún)稱(chēng)為子查詢(xún)UPDATE、INSERT、DELETE一起使用,語(yǔ)法類(lèi)似于SELECT語(yǔ)句
將子查詢(xún)和比較運(yùn)算符聯(lián)合使用,必須保證子查詢(xún)返回的值不能多于一個(gè)2829使用子查詢(xún)2-1問(wèn)題:查詢(xún)成績(jī)=60分的學(xué)員。學(xué)員信息表和成績(jī)表30使用子查詢(xún)2-2采用子查詢(xún)
SELECTsNameFROMstudentWHEREsNo=(SELECTsNoFROMscoreWHEREdegree=60)GO子查詢(xún)一般來(lái)說(shuō),表連接都可以用子查詢(xún)替換,但有的子查詢(xún)卻不能用表連接替換子查詢(xún)比較靈活、方便,常作為增刪改查的篩選條件,適合于操縱一個(gè)表的數(shù)據(jù)表連接更適合于查看多表的數(shù)據(jù)31使用IN或NOTIN的子查詢(xún)IN子查詢(xún)用于進(jìn)行一個(gè)給定值是否在子查詢(xún)結(jié)果集中的判斷,格式為:表達(dá)式[NOT]IN(子查詢(xún))當(dāng)表達(dá)式與子查詢(xún)的結(jié)果表中的某個(gè)值相等時(shí),IN謂詞返回TRUE,否則返回FALSE,若使用了NOT,則返回的值剛好相反?!纠?】查詢(xún)選修了課程號(hào)為3-105的學(xué)生情況。
select*fromstudentwheresnoin(selectsnofromscorewherecno='3-105')32EXISTS子查詢(xún)4-2IFEXISTS(子查詢(xún))語(yǔ)句EXISTS子查詢(xún)的語(yǔ)法:如果子查詢(xún)的結(jié)果非空,即記錄條數(shù)1條以上,則EXISTS(子查詢(xún))將返回真(true),否則返回假(false)EXISTS也可以作為WHERE語(yǔ)句的子查詢(xún),但一般都能用IN子查詢(xún)替換33EXISTS子查詢(xún)查找選修了3-105這門(mén)課的學(xué)生姓名
selectsnamefromstudentwhereexists(select*fromscorewher
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青島求實(shí)職業(yè)技術(shù)學(xué)院《安全與質(zhì)量》2023-2024學(xué)年第二學(xué)期期末試卷
- 靜脈留置針的臨床使用
- 保護(hù)身體關(guān)節(jié)課件
- 2025年江西省九江一中、臨川二中重點(diǎn)中學(xué)高三(普通班)下學(xué)期期末考試英語(yǔ)試題試卷含解析
- 桂林信息科技學(xué)院《廣告學(xué)概論A》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州省百校大聯(lián)考2025屆高三4月教學(xué)質(zhì)量檢測(cè)試題:數(shù)學(xué)試題試卷含解析
- 長(zhǎng)春人文學(xué)院《影視項(xiàng)目策劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 民辦萬(wàn)博科技職業(yè)學(xué)院《給水排水工程施工》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海民航職業(yè)技術(shù)學(xué)院《茶學(xué)專(zhuān)業(yè)英語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年貴州省畢節(jié)市校高三第三次模擬歷史試題含解析
- 九月抽考電務(wù)作業(yè)指導(dǎo)書(shū)
- 兒童節(jié)約用水你我同行3月22日世界水日主題班會(huì)PPT
- YC/T 478-2013煙草商業(yè)企業(yè)卷煙物流配送中心安全管理規(guī)范
- GB/T 24456-2009高密度聚乙烯硅芯管
- 幼兒園驚蟄來(lái)了課件
- 轉(zhuǎn)包違法分包等違法行為認(rèn)定查處管理辦法講座課件
- PLM解決方案與NX培訓(xùn)教材課件
- 部編版六年級(jí)下冊(cè)道德與法治全冊(cè)優(yōu)秀課件
- 【精選】方劑學(xué)解表劑練習(xí)題
- 法制宣傳教育小報(bào)
- 上海西郊國(guó)際農(nóng)產(chǎn)品展示直銷(xiāo)中心貴州館入駐方案
評(píng)論
0/150
提交評(píng)論