group by>having.    需要注意的是:1.where..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Oracle中where和having的區(qū)別

發(fā)布時間:2020-06-12 08:13:19 來源:網(wǎng)絡 閱讀:384 作者:Xiao_Tommy 欄目:關系型數(shù)據(jù)庫

    首先,where是針對單個語句的,having是針對組的。并且優(yōu)先級是where>group by>having.

    需要注意的是:

1.where 是不可以放在group by 之后的

2.having 和group by 連用,并且 放在group by 之后

3.where 之后不可聚合函數(shù),即SUM( ) ,AVG( ) 等等。having可以。


聚合函數(shù):

    聚合函數(shù)就是統(tǒng)計函數(shù)。比如求和、求平均值、最大最小之類的。而group by 可以對這些統(tǒng)計函數(shù)對一組數(shù)據(jù)起作用。比如,我需要求各個階段內(nèi)的平均值,則需要最各個階段進行分類,然后求平均。當然,where 也是可以達到要求的。


    在查詢中,聚合語句(聚合函數(shù))優(yōu)先級要高于having(即先分類在統(tǒng)計),聚合語句的優(yōu)先級低于where()即先單個篩選再進行統(tǒng)計。比如,我們要對部門中小于20的部門并且工資之和要大于10000的部門進行篩選。則:

select department_id, sum(salary) from group
where department_id < 20 group by department_id
having sum(salary) >10000;



向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI