挖金礦游戲網(wǎng)站建設(shè)seo搜索引擎營銷工具
SQL進(jìn)階-having子句的力量
having子句是理解SQL面向集合這一本質(zhì)的關(guān)鍵。
在以前的SQL標(biāo)準(zhǔn)里面,having子句必須和group by子句一起使用,但是按照現(xiàn)在的SQL標(biāo)準(zhǔn),having子句是可以單獨(dú)使用的
- 可以與case 表達(dá)式或者自連接等結(jié)合使用。
- 表不是文件,記錄沒有順序,所以SQL不進(jìn)行排序。
- group by子句可以用來生成子集。
- where子句用來調(diào)查集合(表)
元素
的性質(zhì),而having子句用來調(diào)查集合本身
的性質(zhì)。
分組后由于某一列可能為null,而聚合函數(shù)可以忽略null,所以某些場景下我們可以使用count(*)和count(col)進(jìn)行比較。
注意點(diǎn):group by進(jìn)行分組,但是可以使用having中對(duì)組內(nèi)的每一個(gè)元素進(jìn)行分析。