ホームページ >データベース >SQL >SQLのwhereとhaveの違い

SQLのwhereとhaveの違い

下次还敢
下次还敢オリジナル
2024-05-01 21:42:34669ブラウズ

WHERE 句と HAVING 句はどちらも SQL でデータをフィルタリングするために使用されますが、スコープが異なります。WHERE 句は単一行をフィルタリングし、HAVING 句はグループ化された結果セットをフィルタリングします。 WHERE 句はグループ化前に適用され、集計関数の結果行に影響します。HAVING 句はグループ化後に適用され、個々の行ではなくグループ化された行に影響します。 WHERE 句は任意の列をフィルタリングできますが、HAVING 句は集計関数の結果のみをフィルタリングできます。

SQLのwhereとhaveの違い

WHERE 句と HAVING 句の違い

SQL クエリでは、WHERE 句と HAVING 句は行のフィルタリングに使用されます。データの範囲と用途は異なります。

WHERE 句

  • テーブルの 1 つの行に適用されます。
  • 指定された条件を満たす行をフィルターで除外するために使用されます。
  • データをグループ化する前に適用します。
  • 集計関数の結果行に影響します。

HAVING 句

  • グループ化された結果セットに適用します。
  • 指定した条件を満たすグループを除外するために使用されます。
  • データをグループ化した後に適用します。
  • 個々の行ではなく、グループ化された行に影響します。

比較表

#スコープ単一行グループアプリケーションのタイミンググループ化前グループ化後#影響力#集計関数の結果行グループ行例
特徴 WHERE句 HAVINGサブセンテンス

次のクエリでは、WHERE 句を使用して、売上が 1,000 を超える注文を除外します。 HAVING 句は、平均売上が 1000 を超えるすべての顧客をフィルタリングします。

<code class="sql">SELECT * FROM orders WHERE sales_amount > 1000;</code>

Notes

WHERE 句は任意の列をフィルタリングできますが、HAVING 句はのみをフィルタリングできます。集計関数の結果をフィルタリングします。 HAVING 句は通常、GROUP BY 句と一緒に使用されますが、WHERE 句は独立して使用できます。

    以上がSQLのwhereとhaveの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。