【正文】
使用了ALL關(guān)鍵字那么查詢結(jié)果將包括由GROUP BY子句所產(chǎn)生的所有組,無論這些組中的記錄是否符合WHERE子句中的查循條件。但是對于不符合WHERE子句中的查循條件的記錄值不進(jìn)行匯總計算。例16 Select class,平均成績=AVG(mgrade)from studentswhere class ’03物流3’group by ALL class分析:使用了ALL關(guān)鍵字后,會出現(xiàn)表中所有班級的分組情況,但”03物流3班”的平均成績?yōu)榭眨辉儆嬎?。CUBE關(guān)鍵字WITH CUBE關(guān)鍵字的主要作用是自動對GROUP BY子句中列出的每個字段都進(jìn)行分組匯總運算。(注意有CUBE關(guān)鍵字和沒有CUBE關(guān)鍵字的區(qū)別)例17 SELECT class,ssex, 平均分=avg(mgrade) From students Group by class,ssex with cube分析:在該例子的檢索結(jié)果集不但包含按班級和性別的分組計算結(jié)果,而且包含按班級分組后的計算結(jié)果和按性別分組計算的結(jié)果,最后還包含整張表不分組的計算結(jié)果。說明:正確理解WHERE子句、GROUP BY子句和HAVING子句的作用及其作用順序。①WHERE子句用來篩選 FROM子句中指定的數(shù)據(jù)源的記錄②GROUP BY子句將WHERE子句的結(jié)果集進(jìn)行分組③HAVING子句將從經(jīng)過分組后的中間結(jié)果集中篩選記錄6.2.3 ORDER BY子句作用:在SELECT子句用ORDERBY 子句是對查詢結(jié)果按照一列或多列進(jìn)行排序[ASC|DESC]。ASC表示升序排列,DESC表示降序排列。默認(rèn)情況下為升序排列。例18 檢索學(xué)生信息表,并且按照入學(xué)總分由高到低輸出查詢結(jié)果分析:入學(xué)總分由高到低排列,就表示檢索結(jié)果要求按入學(xué)總分作降序排列,那么關(guān)鍵字為desc。降序排列不是默認(rèn)的排列方式,需要特別表示。SELECT sno,sname,mgradeFROM StudentsORDER BY mgrade desc注意:①Order by 子句中可以指定多個字段,系統(tǒng)將根據(jù)子句中排序字段的順序?qū)Σ樵兘Y(jié)果進(jìn)行嵌套排序。②Order by 子句中不能包含text,image的字段③Order by列表中不允許使用子查詢或常量表達(dá)式。但可以在選擇字段列表中為聚合表達(dá)指定一個名稱,然后在Order by 子句引用這個名稱。6.2.4 聯(lián)合查詢