In SQL, the WHERE clause is used to filter the results of a query based on specified conditions. The HAVING clause is similar, but is used instead to filter the results of a query based on specified conditions for aggregate functions.
🔖 Quick Reference: Check out our SQL Language Cheat Sheet for a complete guide to WHERE clauses, GROUP BY, HAVING, and other essential SQL commands with syntax examples.
How to use WHERE in SQL
Here is an example of how the WHERE clause might be used:
SELECT *
FROM users
WHERE age > 30;
In this example, the WHERE clause is used to filter the results of the query to only include rows from the users table where the age is greater than 30.
How to use HAVING in SQL
The HAVING clause, on the other hand, would be used in a query that includes aggregate functions, such as COUNT or SUM. Here is an example of how the HAVING clause might be used:
SELECT city, COUNT(*)
FROM users
GROUP BY city
HAVING COUNT(*) > 100;
In this example, the HAVING clause is used to filter the results of the query to only include rows where the count of users in a given city is greater than 100.
Having requires a GROUP BY
It’s important to note that the HAVING clause must be used in conjunction with a GROUP BY clause, whereas the WHERE clause can be used on its own. The GROUP BY clause is used to group the results of a query by one or more columns, and is often used in conjunction with aggregate functions.
Using WHERE and HAVING together
You can use both WHERE and HAVING in the same query without any prolems.
Here we count the number of users over 30 who live in each city, only where the city has more than 100 users.
SELECT city, COUNT(*)
FROM users
WHERE age > 30
GROUP BY city
HAVING COUNT(*) > 100;
WHERE vs HAVING Summary
To summarize, the WHERE clause is used to filter the results of a query based on specified conditions, whereas the HAVING clause is used to filter the results of a query based on specified conditions for aggregate functions. The HAVING clause must be used in conjunction with a GROUP BY clause, whereas the WHERE clause can be used on its own.
Beekeeper Studioは無料でオープンソースのデータベースGUIです
今まで使った中で最高のSQLクエリ&エディタツールです。データベース管理に必要なすべてが揃っています。 - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studioは高速で直感的、使いやすいです。Beekeeperは多くのデータベースをサポートし、Windows、Mac、Linuxで快適に動作します。
Beekeeper Studioについてユーザーの声
"Beekeeper Studioは私の古いSQLワークフローを完全に置き換えました。高速で直感的で、データベース作業を再び楽しくしてくれます。"
"多くのデータベースGUIを試しましたが、Beekeeperは機能とシンプルさの完璧なバランスを実現しています。とにかく動きます。"