group by,having,order by的用法詳解
更新時(shí)間:2013年09月03日 15:43:22 作者:
如果一個(gè)查詢中使用了分組函數(shù),任何不在分組函數(shù)中的列或表達(dá)式必須要在group by中,下面為大家簡要介紹下group by,having,order by的用法
一,如果一個(gè)查詢中使用了分組函數(shù),任何不在分組函數(shù)中的列或表達(dá)式必須要在group by中,否則出錯(cuò)。
第一個(gè)查詢中,deptno沒有出現(xiàn)在group by中,也沒有出現(xiàn)在分組函數(shù)中,因此出錯(cuò)。將deptno改成job就可以了。該條語句的意義為:按工作分組查出每一項(xiàng)工作的平均薪水二,having 子句
oracle 規(guī)定where子句不可以使用分組函數(shù),這時(shí)我們必須使用having子句方可完成功能。
select job,avg(sal) from emp having avg(sal)>1500 group by job;
使用having子句時(shí),oracle系統(tǒng)的處理順序是:
1,首先對(duì)數(shù)據(jù)行進(jìn)行分組。
2,把所得到的分組應(yīng)用到分組函數(shù)中。
3,最好顯示滿足having條件的記錄。
三,分組函數(shù)的嵌套
不多說直接上圖
該語句的執(zhí)行順序是:
1,執(zhí)行where子句,查出job符合條件的記錄。
2,根據(jù)job進(jìn)行分組。
3,根據(jù)分組情況求出各組的平均工資。
4,找出各組中最大和最小的平均工資。
第一個(gè)查詢中,deptno沒有出現(xiàn)在group by中,也沒有出現(xiàn)在分組函數(shù)中,因此出錯(cuò)。將deptno改成job就可以了。該條語句的意義為:按工作分組查出每一項(xiàng)工作的平均薪水二,having 子句
oracle 規(guī)定where子句不可以使用分組函數(shù),這時(shí)我們必須使用having子句方可完成功能。
select job,avg(sal) from emp having avg(sal)>1500 group by job;
使用having子句時(shí),oracle系統(tǒng)的處理順序是:
1,首先對(duì)數(shù)據(jù)行進(jìn)行分組。
2,把所得到的分組應(yīng)用到分組函數(shù)中。
3,最好顯示滿足having條件的記錄。
三,分組函數(shù)的嵌套
不多說直接上圖
該語句的執(zhí)行順序是:
1,執(zhí)行where子句,查出job符合條件的記錄。
2,根據(jù)job進(jìn)行分組。
3,根據(jù)分組情況求出各組的平均工資。
4,找出各組中最大和最小的平均工資。
相關(guān)文章
對(duì)于oracle對(duì)session進(jìn)行跟蹤的分析
這篇文章主要介紹了對(duì)于oracle對(duì)session進(jìn)行跟蹤的分析,涉及判斷SQL性能優(yōu)劣的信息等內(nèi)容,需要的朋友可以參考下。2017-09-09
win x64下安裝oracle 12c出現(xiàn)INS-30131報(bào)錯(cuò)的解決方法
這篇文章主要介紹了win x64下安裝oracle 12c出現(xiàn)INS-30131報(bào)錯(cuò)的解決方法,感興趣的小伙伴們可以參考一下2016-07-07
oracle 動(dòng)態(tài)AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)
本方法實(shí)現(xiàn)用常量和常量數(shù)組完美創(chuàng)建和控制動(dòng)態(tài)TAdvStringGrid。2009-06-06
Oracle如何批量將表中字段名全轉(zhuǎn)換為大寫(利用簡單存儲(chǔ)過程)
這篇文章主要給大家介紹了關(guān)于Oracle如何批量將表中字段名全轉(zhuǎn)換為大寫的相關(guān)資料,主要利用的就是一個(gè)簡單的存儲(chǔ)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Oracle Connect to Idle Instance解決方法
本文將介紹Oracle如何解決Connect to Idle Instance問題,需要了解的朋友可以參考下2012-11-11
ORACLE?ORA-01653:?unable?to?extend?table?的錯(cuò)誤處理方案(oracl
這篇文章主要介紹了ORACLE?ORA-01653:?unable?to?extend?table?的錯(cuò)誤處理方案,本文通過具體步驟給大家分享解決方案,需要的朋友可以參考下2022-08-08
oracle使用存儲(chǔ)過程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法
雖然目前pl/sql developer等數(shù)據(jù)庫客戶端軟件都支持將表數(shù)據(jù)以excel格式導(dǎo)出,但是如果數(shù)據(jù)量大,需要等客戶端加載表數(shù)據(jù)等待很久,這篇文章給大家分享oracle使用存儲(chǔ)過程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法,需要的朋友可以參考下2024-07-07

