真人作爱90分钟免费看视频,亚洲中文有码字幕日本第一页,亚洲精品中文字幕乱码三区,亚洲日本va中文字幕,中国熟妇牲交视频

mysql having where(數(shù)據(jù)庫where和having的區(qū)別)

mysql having where(數(shù)據(jù)庫where和having的區(qū)別)

MySQL之Where和Having的區(qū)別

孩子學(xué)習(xí)?對于所有的家長來,最關(guān)心就是孩子的學(xué)習(xí),對吧?如何幫孩子提升學(xué)習(xí)成績呢?影響孩子學(xué)習(xí)成績的因素有哪些?左養(yǎng)右學(xué)教育賴頌強(qiáng)團(tuán)隊(duì)13年的家庭教育服務(wù)經(jīng)驗(yàn)總結(jié),影響孩子學(xué)習(xí)的主要因素有22條之多,家長你了解幾條呢?

對于使用where和having,相信很多人都有過困擾,今天就來講一下我對where和having的認(rèn)識:

從整體聲明的角度來理解:

Where是一個(gè)約束聲明,在查詢數(shù)據(jù)庫的結(jié)果返回之前對數(shù)據(jù)庫中的查詢條件進(jìn)行約束,即在結(jié)果返回之前起作用,且where后面不能使用聚合函數(shù)

Having是一個(gè)過濾聲明,所謂過濾是在查詢數(shù)據(jù)庫的結(jié)果返回之后進(jìn)行過濾,即在結(jié)果返回之后起作用,并且having后面可以使用聚合函數(shù)

所謂聚合函數(shù),是對一組值進(jìn)行計(jì)算并且返回單一值的函數(shù):sum—求和,count—計(jì)數(shù),max—最大值,avg—平均值等。

從使用的角度:

where后面之所以不能使用聚合函數(shù)是因?yàn)?strong>where的執(zhí)行順序在聚合函數(shù)之前,如下面這個(gè)sql語句:

select sum(score) from student group by student.sex where sum(student.age)>100;

having既然是對查出來的結(jié)果進(jìn)行過濾,那么就不能對沒有查出來的值使用having,如下面這個(gè)sql語句:

select student.id,student.name from student having student.score >90;

where 和 having組合使用的sql語句:

select sum(score) from student where sex=’man’ group by name having sum(score)>210;
用group by和having子句聯(lián)合來查出不重復(fù)的記錄,sql如下:
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email
然后看這個(gè),就容易理解了
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email HAVING ct > 1 先用group by 對email進(jìn)行分組,在用having來過濾大于1的,這樣查找出來的就是重復(fù)的記錄了.

總結(jié):

1.Where和Having的作用對象不同:WHERE 子句作用于表和視圖,HAVING 子句作用于組。

2.WHERE 在分組和聚集計(jì)算之前選取輸入行(因此,它控制哪些行進(jìn)入聚集計(jì)算), 而 HAVING 在分組和聚集之后選取分組的行。因此,WHERE 子句不能包含聚集函數(shù); 因?yàn)樵噲D用聚集函數(shù)判斷那些行輸入給聚集運(yùn)算是沒有意義的。 相反,HAVING 子句總是包含聚集函數(shù)。

3.having一般跟在group by之后,執(zhí)行記錄組選擇的一部分來工作的。

where則是執(zhí)行所有數(shù)據(jù)來工作的。

再者h(yuǎn)aving可以用聚合函數(shù),如having sum(qty)>1000

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至89291810@qq.com舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
(0)
上一篇 2022年7月15日 上午12:02
下一篇 2022年7月15日 上午1:02

相關(guān)推薦