SQL进阶-having子句的力量

SQL进阶-having子句的力量

having子句是理解SQL面向集合这一本质的关键。

在以前的SQL标准里面,having子句必须和group by子句一起使用,但是按照现在的SQL标准,having子句是可以单独使用的

  • 可以与case 表达式或者自连接等结合使用。
  • 表不是文件,记录没有顺序,所以SQL不进行排序。
  • group by子句可以用来生成子集。
  • where子句用来调查集合(表)元素的性质,而having子句用来调查集合本身的性质。

分组后由于某一列可能为null,而聚合函数可以忽略null,所以某些场景下我们可以使用count(*)和count(col)进行比较。

注意点:group by进行分组,但是可以使用having中对组内的每一个元素进行分析。

猜你喜欢

转载自blog.csdn.net/qq_50876039/article/details/130789737