WHERE 句と HAVING 句はどちらも SQL でデータをフィルタリングするために使用されますが、スコープが異なります。WHERE 句は単一行をフィルタリングし、HAVING 句はグループ化された結果セットをフィルタリングします。 WHERE 句はグループ化前に適用され、集計関数の結果行に影響します。HAVING 句はグループ化後に適用され、個々の行ではなくグループ化された行に影響します。 WHERE 句は任意の列をフィルタリングできますが、HAVING 句は集計関数の結果のみをフィルタリングできます。
WHERE 句と HAVING 句の違い
SQL クエリでは、WHERE 句と HAVING 句は行のフィルタリングに使用されます。データの範囲と用途は異なります。
WHERE 句
HAVING 句
比較表
特徴 | WHERE句 | HAVINGサブセンテンス |
---|---|---|
単一行 | グループ | |
グループ化前 | グループ化後 | |
グループ行 |
次のクエリでは、WHERE 句を使用して、売上が 1,000 を超える注文を除外します。 HAVING 句は、平均売上が 1000 を超えるすべての顧客をフィルタリングします。
SELECT * FROM orders WHERE sales_amount > 1000;
Notes
WHERE 句は任意の列をフィルタリングできますが、HAVING 句はのみをフィルタリングできます。集計関数の結果をフィルタリングします。HAVING 句は通常、GROUP BY 句と一緒に使用されますが、WHERE 句は独立して使用できます。
以上がSQLのwhereとhaveの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。