MySQL高級查詢

MySQL高級查詢

ID:35612083

大?。?59.00 KB

頁數(shù):50頁

時間:2019-04-01

MySQL高級查詢_第1頁
MySQL高級查詢_第2頁
MySQL高級查詢_第3頁
MySQL高級查詢_第4頁
MySQL高級查詢_第5頁
資源描述:

《MySQL高級查詢》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第6章MySQL高級查詢MySQL基礎(chǔ)教師自我介紹教師姓名:(請進行自我介紹)課程介紹本課程主要介紹了MySQL數(shù)據(jù)庫的安裝,管理,數(shù)據(jù)類型,SQL語句語法和使用,高級查詢等方面的知識,以應(yīng)用為目標(biāo),具有較強的實踐性。學(xué)習(xí)對象希望了解MySQL數(shù)據(jù)庫基本概念,常見使用方法的學(xué)生、專業(yè)人士等學(xué)習(xí)目標(biāo)在完成本章的學(xué)習(xí)后,您將能夠:熟悉MySQL的聚合函數(shù)的使用掌握分組查詢掌握聯(lián)合查詢和內(nèi)、外連接查詢熟悉子查詢用法目錄大綱聚合函數(shù)分組查詢聯(lián)合查詢連接查詢子查詢數(shù)據(jù)庫的一個最大的特點就是將各種分散的數(shù)據(jù)按照一定規(guī)律、條件進行分類組合,最后得出統(tǒng)計結(jié)果。常用的幾個聚合函數(shù)如下所示:1聚合函

2、數(shù)數(shù)據(jù)庫的一個最大的特點就是將各種分散的數(shù)據(jù)按照一定規(guī)律、條件進行分類組合,最后得出統(tǒng)計結(jié)果。常用的幾個聚合函數(shù)如下所示:聚合函數(shù)對一組值執(zhí)行計算并返回單一的值。除COUNT函數(shù)之外,聚合函數(shù)忽略空值(NULL)。聚合函數(shù)經(jīng)常與SELECT語句的GROUPBY子句一同使用。所有聚合函數(shù)都具有確定性。任何時候用一組給定的輸入值調(diào)用它們時,都返回相同的值。1聚合函數(shù)聚合函數(shù)僅在下列項中允許作為表達式使用:SELECT語句的選擇列表(子查詢或外部查詢)HAVING子句首先在student表中加個score字段,并插入一些數(shù)據(jù),如下所示:1聚合函數(shù)SUMSUM返回表達式中所有數(shù)值的總和,

3、SUM只能用于數(shù)字類型的列,不能夠匯總字符、日期等其他類型。下面的示例計算學(xué)生的總分:1聚合函數(shù)注意這種查詢只能返回一個數(shù)值,因此,不能夠直接與可能返回多行的列一起使用參與查詢。如下列操作將報告錯誤,但是,在一個查詢中可以使用多個聚合函數(shù)。1聚合函數(shù)AVGAVG函數(shù)返回表達式中所有數(shù)值的平均值,AVG函數(shù)也只能用于數(shù)字類型的列,例如求學(xué)生的平均成績。1聚合函數(shù)MAX和MINMAX和MIN函數(shù)返回表達式中的最大值和最小值,它們可以用于數(shù)字類型、字符型、日期/時間類型的列。1聚合函數(shù)COUNTCOUNT返回提供的表達式中非空值的計數(shù),COUNT可以用于數(shù)字和字符類型的列。另外,也可以

4、使用星號(*)作為COUNT的表達式,使用星號可以不必指定特定的列而計算所有的行數(shù).1聚合函數(shù)COUNT函數(shù)還可以嵌套另一個函數(shù)DISTINCT,表示求出字段值非空并且惟一的記錄個數(shù)。AVG函數(shù)也可以嵌套函數(shù)DISTINCT,表示求出非空且非重復(fù)字段的平均值。1聚合函數(shù)分組查詢分組函數(shù)對每一組數(shù)據(jù)進行計算,得到對應(yīng)的計算數(shù)據(jù)。在前面的例子中,返回結(jié)果都只有一行,因為在使用了分組函數(shù)的查詢語句中并沒有對數(shù)據(jù)進行分組。這意味著整個表中的所有數(shù)據(jù)被作為一組進行了統(tǒng)計計算,所以最終得到了一行結(jié)果。除了對整個表的數(shù)據(jù)進行統(tǒng)計計算外,更多的需求是根據(jù)用戶的實際需要對表中的數(shù)據(jù)進行分組,然后對

5、每個分組進行組函數(shù)計算。使用Groupby子句可以對表中的數(shù)據(jù)進行分組。SELECTCOLUMN,GROUP_FUNCTIONFROMTABLE[WHERECONDITION][GROUPBYGROUP_BY_EXPRESSION][ORDERBYCOLUMN];2分組查詢規(guī)則1:出現(xiàn)在SELECT后面的字段,如果出現(xiàn)的位置不在分組函數(shù)中,那么必須要出現(xiàn)在GROUPBY子句中。2分組查詢規(guī)則2:出現(xiàn)在GROUPBY子句中的字段并不一定要出現(xiàn)在SELECT后面。2分組查詢規(guī)則3:WHERE子句中不能使用聚合函數(shù)。使用Having子句對分組結(jié)果進行限制SELECTCOLUMN,GRO

6、UP_FUNCTIONFROMTABLE[WHERECONDITION][GROUPBYGROUP_BY_EXPRESSION][HAVINGGROUP_CONDITON][ORDERBYCOLUMN];這是一個完整SELECT查詢語句,在整個語句的執(zhí)行過程中,最先執(zhí)行的是WHERE子句,在對表數(shù)據(jù)進行過濾后,符合條件的數(shù)據(jù)通過GROUPBY進行分組,分組數(shù)據(jù)通過HAVING子句進行組函數(shù)過濾,最終的結(jié)果通過ORDERBY子句進行排序,排序的結(jié)果被返回給用戶。2分組查詢對分數(shù)高于65分的學(xué)生進行分組,統(tǒng)計分數(shù)高于70分的人數(shù)和分數(shù)。2分組查詢UNION運算符可以將兩個或兩個以上上

7、SELECT語句的查詢結(jié)果集合合并成一個結(jié)果集合顯示,即執(zhí)行聯(lián)合查詢。UNION的語法格式為:select_statementUNION[ALL]selectstatement[UNION[ALL]selectstatement][…n]其中selectstatement為待聯(lián)合的SELECT查詢語句。ALL選項表示將所有行合并到結(jié)果集合中。不指定該項時,被聯(lián)合查詢結(jié)果集合中的重復(fù)行將只保留一行。3聯(lián)合查詢聯(lián)合查詢時,查詢結(jié)果的列標(biāo)題為第一個查詢語句的列標(biāo)題。因此,要定義列標(biāo)題必

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

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

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