WHERE 句と HAVING 句はどちらも SQL クエリでデータをフィルタリングするために使用されますが、それらは異なる目的を果たし、クエリ実行のさまざまな段階で適用されます。詳細な比較は次のとおりです:
WHERE 句:
HAVING 句:
どこ:
SELECT * FROM employees WHERE salary > 50000;
が:
SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 60000;
どこ:
が:
Aspect | WHERE Clause | HAVING Clause |
---|---|---|
Purpose | Filters rows before grouping. | Filters aggregated groups. |
Use with Aggregates | Cannot use aggregate functions. | Can use aggregate functions. |
Execution Order | Applied before GROUP BY. | Applied after GROUP BY. |
Scope | Operates on individual rows. | Operates on grouped data. |
SELECT * FROM employees WHERE salary > 50000;
SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 60000;
SELECT employee_id, first_name, salary FROM employees WHERE salary > 50000;
WHERE 句はグループ化前の個々の行のフィルタリングに重点を置き、HAVING 句はグループ化後の集計データのフィルタリングを扱います。これらの違いを理解することは、行レベルとグループレベルのフィルタリングの両方を処理する効率的な SQL クエリを作成するために重要です。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がSQL の WHERE と HAVING の違いを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。