資源描述:
《聯(lián)接查詢和分組查詢.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第十一章聯(lián)接查詢和分組查詢?nèi)缦碌腡-SQL語(yǔ)句含義是什么?Temp表中A列為商品名稱,請(qǐng)說(shuō)出查詢以大寫字母開頭的所有商品名稱的T-SQL語(yǔ)句聚合函數(shù)COUNT()和SUM()各代表什么意思?回顧和作業(yè)點(diǎn)評(píng)SELECTTelephoneFROMstuWHERETelephoneNOTLIKE'6%'SELECTAFROMTempWHEREALIKE'[A-Z]%'預(yù)習(xí)檢查分組查詢主要解決什么問(wèn)題?多表聯(lián)接主要解決什么問(wèn)題?用在什么場(chǎng)合?統(tǒng)計(jì)學(xué)生考試信息從多個(gè)數(shù)據(jù)表中取得學(xué)生考試成績(jī)單本章任務(wù)使用GROUPBY進(jìn)行分組查詢掌握多表聯(lián)接查詢本章目標(biāo)學(xué)號(hào)姓名地
2、址所屬年級(jí)……001王明全湖南長(zhǎng)沙1002張菲湖北宜昌1003于寄謙甘肅天水1004劉國(guó)正山東荷澤1005周接輪臺(tái)灣新竹2006鞏小妹香港龍灣2007鞏大妹香港龍灣2008張明敏北京順義3009矛十八四川棉陽(yáng)3010張林光陜西臨潼3需求1每年級(jí)的學(xué)生人數(shù)各是多少?分組查詢?cè)淼谝粚W(xué)期人數(shù)第二學(xué)期人數(shù)第三學(xué)期人數(shù)學(xué)號(hào)姓名地址所屬年級(jí)001王明全湖南長(zhǎng)沙1002張菲湖北宜昌1003于寄謙甘肅天水1004劉國(guó)正山東荷澤1005周接輪臺(tái)灣新竹2006鞏小妹香港龍灣2007鞏大妹香港龍灣2008張明敏北京順義3009矛十八四川棉陽(yáng)3010張林光陜西臨潼3三組分組
3、查詢用法SELECT……FROM<表名>WHERE……GROUPBY……分組查詢語(yǔ)句SELECTCOUNT(*)AS人數(shù),SGradeAS年級(jí)FROMStudentsGROUPBYSGrade演示示例1:分組查詢SELECTCourseID,AVG(Score)AS課程平均成績(jī)FROMScoreGROUPBYCourseID分組查詢解析2-1對(duì)分組后的每個(gè)組內(nèi)的記錄進(jìn)行一個(gè)聚集,通常用到聚合函數(shù)查詢每門課程的平均分按照什么進(jìn)行分組?分組查詢解析2-2SELECTCourseID,AVG(Score)AS課程平均成績(jī)FROMScoreGROUPBYCou
4、rseIDORDERBYAVG(Score)查詢每門課程的平均分,并且按照分?jǐn)?shù)由低到高的順序排列顯示SELECTStudentID,CourseID,AVG(Score)AS課程平均成績(jī)FROMScoreGROUPBYCourseID思考分組查詢所查詢的列1、分組列2、聚合函數(shù)計(jì)算出的列分析以下的T-SQL,結(jié)果會(huì)怎樣?練習(xí)——使用分組查詢學(xué)生相關(guān)信息需求說(shuō)明查詢每個(gè)年級(jí)的總學(xué)時(shí)數(shù),并按照升序排列查詢每個(gè)參加考試的學(xué)員的平均分查詢每門課程的平均分,并按照降序排列查詢每個(gè)學(xué)生參加的所有考試的總分,并按照降序排列完成時(shí)間:15分鐘共性問(wèn)題集中講解常見調(diào)試問(wèn)
5、題及解決辦法代碼規(guī)范問(wèn)題共性問(wèn)題集中講解需求2統(tǒng)計(jì)每學(xué)期男女同學(xué)的人數(shù),該怎么辦?對(duì)學(xué)生進(jìn)行分組計(jì)算每組學(xué)生的總?cè)藬?shù)多列分組2-1年級(jí)分組性別分組多列分組2-2SELECTCOUNT(*)AS人數(shù),SGradeAS年級(jí),SSexAS性別FROMStudentSGROUPBYSGrade,SSexORDERBYSGrade演示示例2:多列分組ORDERBY子句在這里的作用?需求3如何獲得總?cè)藬?shù)超過(guò)15人的年級(jí)?條件限定分組篩選SELECT……FROM<表名>WHERE……GROUPBY……HAVING……SELECTCOUNT(*)AS人數(shù),SGrade
6、AS年級(jí)FROMStudentsGROUPBYSGradeHAVINGCOUNT(*)>15分組篩選語(yǔ)句演示示例3:分組篩選WHEREGROUPBYHAVINGWHERE子句:用來(lái)篩選FROM子句中指定的操作所產(chǎn)生的行GROUPBY子句:用來(lái)分組WHERE子句的輸出HAVING子句:用來(lái)從分組的結(jié)果中篩選行WHERE與HAVING對(duì)比SELECT部門編號(hào),COUNT(*)FROM員工信息表WHERE工資>=2000GROUPBY部門編號(hào)HAVINGCOUNT(*)>1思考查詢有多個(gè)員工的工資不低于2000的部門編號(hào)分析以下的T-SQL,其作用是什么?指
7、導(dǎo)——限定條件的分組查詢2-1訓(xùn)練要點(diǎn)GROUPBY子句HAVING子句聚合函數(shù)需求說(shuō)明查詢學(xué)生相關(guān)信息查詢考試相關(guān)信息講解需求說(shuō)明指導(dǎo)——限定條件的分組查詢2-2難點(diǎn)分析計(jì)算學(xué)生的年齡至少一次不及格的信息DATEDIFF(dd,BornDate,GETDATE())/365WHEREStudentResult<60GROUPBYStudentNo完成時(shí)間:25分鐘小結(jié)如果查詢語(yǔ)句將得到以下的查詢結(jié)果,那么以下的查詢語(yǔ)句將輸出哪些信息?SELECT*FROMASELECTA1,B1,MAX(C1)FROMA需求4學(xué)號(hào)姓名年級(jí)…001張青裁1002陳剛1
8、003蘇三東1學(xué)號(hào)科目分?jǐn)?shù)001260002270003480如何同時(shí)從這兩個(gè)表中取得數(shù)據(jù)??jī)?nèi)