連接查詢和分組查詢.doc

連接查詢和分組查詢.doc

ID:57615494

大?。?7.50 KB

頁數(shù):6頁

時(shí)間:2020-08-29

連接查詢和分組查詢.doc_第1頁
連接查詢和分組查詢.doc_第2頁
連接查詢和分組查詢.doc_第3頁
連接查詢和分組查詢.doc_第4頁
連接查詢和分組查詢.doc_第5頁
資源描述:

《連接查詢和分組查詢.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第十一章連接查詢和分組查詢一.使用groupby進(jìn)行分組查詢語法:Select列名From表名Groupby列名1.查詢男女學(xué)生的人數(shù)格式多少分析:首先按照性別進(jìn)行分組:groupbySSex其次對每個(gè)組進(jìn)行總數(shù)的統(tǒng)計(jì),用到聚合函數(shù)count()。完整的T-SQL語句如下:Selectcount(*)AS人數(shù),SSexfromStudentsGroupbySSex2.查詢每個(gè)科目的平均分,并且按照由低到高的順序排列顯示SelectCourseID,avg(Score)AS課程平均成績FromScoreGroupbyCourseIDOrderbya

2、vg(Score)DESC二.多列分組查詢Selectcount(*)AS人數(shù),SGradeAS年級,SSexAS性別FromStudentsGroupbySGrade,SSexOrderbySGrade二.使用having子句進(jìn)行分組篩選1.查詢年紀(jì)總?cè)藬?shù)超過15的年級Selectcount(*)AS人數(shù),SGradeAS年級FromStudentsGroupbySGradeHavingcount(*)>152.查詢平均分及格的課程信息SelectCourseIDAS課程編號,avg(Score)AS課程平均成績FromstudentsGrou

3、pbyGourseIDHavingavg(score)>=60Having,where,orderby和groupby句子可以在同一個(gè)select語句中喲起使用,使用順序如下Where→groupby→having→orderby3.查詢每門課程及格總?cè)藬?shù)和及格學(xué)生的平均分Selectcount(*)AS人數(shù),avg(Score)AS平均分,CrouseIDAS課程FromSCoreWhereScore>=60GroupbyCrouseID1.查詢每門課程及格人數(shù)和及格平均分在80分以上的記錄Selectcount(*)AS人數(shù),avg(Scor

4、e)AS平均分,CrouseIDAS課程FromScoreWhereScore>=60GroupbyCrouseIDHavingavg(Score)>80OrderbyCrouseID四.多表連接查詢1.多表連接查詢的分類多表連接查詢實(shí)際上是通過各個(gè)表之間共同列的關(guān)聯(lián)性來查詢數(shù)據(jù)的,他是關(guān)系數(shù)據(jù)庫查詢最主要的特征。常用的連接:內(nèi)鏈接,外連接A.內(nèi)鏈接內(nèi)鏈接是最典型,最常用的連接查詢,它根據(jù)表中共同的列來進(jìn)行匹配,特別是兩個(gè)表存在主外建關(guān)系時(shí)通常會使用到內(nèi)鏈接查詢B.外連接外連接是至少返回一個(gè)表中的所有記錄,根據(jù)匹配條件有選擇性地返回另一張表的記錄

5、。外連接可以是左外連接,有外鏈接2.內(nèi)鏈接查詢內(nèi)鏈接查詢通常會使用向“=”或“<>”等比較運(yùn)算符來判斷兩列數(shù)據(jù)值是否相等內(nèi)鏈接使用innerjoin、、、on關(guān)鍵字或where子句來進(jìn)行表之間的關(guān)聯(lián)。內(nèi)鏈接查詢可以通過兩種方式實(shí)現(xiàn)1.在where子句中指定連接條件例如:查詢學(xué)生姓名和成績的T-SQL如下SelectStudent、Sname,Score、CourseID,Score、ScoreFromStudent,ScoreWhereStudents.Scode=Score.StudentID2.在from子句中使用insertjoin、、、o

6、n上面查詢也可一通過這種方式來實(shí)現(xiàn)Selects.Sname,c.courseID,c.ScoreFromStudentsASsInnerjoinScoreAScon(s.Score=c.StudentID)在上面的內(nèi)鏈接查詢中:A:insnerjoin用來連接兩個(gè)表B:inner可以省略C:on用來設(shè)置條件D:AS指定表的“別名”,如果查詢的別名在用到兩個(gè)或多個(gè)表中不重復(fù),則對這一列的引用不必用表名來限定五、外連接查詢與內(nèi)部連接相對的方式稱為外部鏈接。在外部聯(lián)接中參與聯(lián)接的表有主從之分,以主表的每行數(shù)據(jù)匹配從表的數(shù)據(jù)列,江都和聯(lián)接條件的數(shù)據(jù)直接

7、返回到結(jié)果集中;對那些不符合連接條件的列,將被填上NULL值(空值)后在返回到結(jié)果集中1.左外連接查詢左外連接的結(jié)果集包括leftjoin子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行左外連接使用leftjoin、、、on或leftouterjoin、、、on關(guān)鍵字來進(jìn)行表之間的關(guān)聯(lián)例如:要統(tǒng)計(jì)所有學(xué)生的考試情況,要求顯示所參加考試學(xué)生的每次考試分?jǐn)?shù),沒有參加考試的學(xué)生也要顯示出來。這時(shí)候,以學(xué)生信息表為主表(有時(shí)也叫做左表),學(xué)生成績表為從表的做外連接查詢?nèi)缦拢篠elects.sname,c.CourseID,c.ScoreFromStu

8、dentsASSLeftouterjoinScoreASConS.Scode=C.studentID2.右外聯(lián)接查詢右外聯(lián)接查詢與左外聯(lián)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。