ホームページ > データベース > mysql チュートリアル > SQL の HAVING と WHERE: データ フィルタリングに各句をいつ使用するか?

SQL の HAVING と WHERE: データ フィルタリングに各句をいつ使用するか?

Susan Sarandon
リリース: 2025-01-14 17:11:45
オリジナル
673 人が閲覧しました

HAVING vs. WHERE in SQL: When to Use Each Clause for Data Filtering?

SQL SELECT ステートメントの HAVING 句と WHERE 句の違い

SQL SELECT ステートメントでは、HAVING 句と WHERE 句はデータ フィルタリングにおいて異なる目的を果たします。正確なクエリ結果を取得するには、その使用法を理解することが重要です。

HAVING 句

HAVING 句は、GROUP BY 句を使用した集計後に適用されます。集計値に適用される条件に基づいて、グループ化された行をフィルター処理します。例:

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA'
GROUP BY City
HAVING COUNT(1) > 5</code>
ログイン後にコピー

このクエリは、マサチューセッツ州の都市とその住所の数 (5 つ以上) を含むテーブルを返します。

WHERE 句

対照的に、WHERE 句は集計前に行をフィルタリングします。個々の行の条件を評価し、条件を満たす行のみを選択します。例:

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA' AND City LIKE '%ton'
GROUP BY City</code>
ログイン後にコピー

このクエリは、マサチューセッツ州の都市 (名前が「ton」で終わる) の数とその住所を含むテーブルを返します。

主な違い

HAVING と WHERE の主な違いは、いつ適用されるかです。

  • HAVING は、グループ化後に集計データをフィルターします。
  • WHERE グループ化する前に個々の行をフィルタリングします。

この違いを活用することで、開発者は SQL SELECT ステートメントのデータを正確に操作およびフィルターして、目的の結果を取得できます。

以上がSQL の HAVING と WHERE: データ フィルタリングに各句をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート