SQL 中 Where 和 Having 子句的区别

mysqldatabasebig data analytics

在本文中,我们将了解 SQL 中 WHERE 子句和 HAVING 子句的区别。

WHERE 子句

  • 它用于根据特定条件从表中筛选记录。

  • 它可以在没有 ‘GROUP BY’ 子句的情况下使用。

  • 它可以与行操作一起使用。

  • 它不能包含聚合函数。

  • 它可以与 ‘SELECT’、‘UPDATE’ 和 ‘DELETE’ 语句一起使用。

  • 它在 ‘GROUP BY’ 之前使用子句。

  • 它与单行函数一起使用,例如‘UPPER’、‘LOWER’。

HAVING 子句

  • 它用于根据特定条件从组中筛选出记录。

  • 它不能在没有‘GROUP BY’子句的情况下使用。

  • 它与列操作一起使用。

  • 它可以包含聚合函数。

  • 它只能与‘SELECT’语句一起使用。

  • 它在‘GROUP BY’之后使用子句。

  • 它可以与多个行函数一起使用,例如‘SUM’、‘COUNT’。

以下是语法:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

相关文章