where 与having区别

where子句作用于表,having子句作用于组。
where条件查询的作用域是针对数据表进行筛选,而having条件查询则是对分组结果进行过滤。
where在分组和聚合计算之前筛选行,而having 在分组和聚合之后筛选分组的行,因此where子句不能包含聚合函数

Select 语句执行顺序

From→Where→Group by→having→select→order by→limit

子查询

一个select语句中包含另一个或多个完整的select语句
子查询出现的位置

  • 出现在select子句中:将子查询返回结果作为主查询的一个字段或者计算值(标量子查询、列子查询)
  • 出现在where/having子句中:将子查询返回的结果作为主查询的条件(标量子查询、行子查询、列子查询、表子查询)
  • 出现在from子句中:将子查询返回的结果作为主查询的一个表(标量子查询、行子查询、列子查询、表子查询)
    SQL学习知识点总结

相关文章:

  • 2021-12-12
  • 2022-01-21
  • 2021-11-19
  • 2022-12-23
  • 2021-09-11
  • 2021-07-15
  • 2021-11-21
  • 2021-05-18
猜你喜欢
  • 2021-07-01
  • 2021-05-20
  • 2021-06-03
  • 2021-09-12
  • 2022-12-23
  • 2021-05-12
  • 2021-06-10
相关资源
相似解决方案