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

mysqlのwhereとhaveの違い

下次还敢
下次还敢オリジナル
2024-05-02 00:39:15686ブラウズ

WHERE 句は行をフィルタリングし、グループ化前に適用されます。HAVING 句はグループをフィルタリングし、グループ化後に適用され、グループ集計関数の結果を使用できます。

mysqlのwhereとhaveの違い

WHERE 句と HAVING 句の違い

MySQL では、データセットのフィルタリングに WHERE 句と HAVING 句の両方が使用されます。ですが、主にその範囲と使用方法が異なります。

WHERE 句

  • は、SELECT ステートメントの FROM 句で機能します。
  • 行をフィルタリングするために使用され、テーブル内の列にのみ基づくことができます。
  • 行をグループ化する前に適用されます。

HAVING 句

  • は、SELECT ステートメントの GROUP BY 句の後に機能します。
  • グループをフィルタリングするために使用されます。グループ集計関数の結果に基づくことができます。
  • 行をグループ化した後に適用します。

使用例

WHERE 句:

<code class="sql">SELECT * FROM customers WHERE age > 30;</code>

このクエリは、30 歳を超えるすべての年齢の顧客を選択します。

HAVING 句:

<code class="sql">SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city
HAVING customer_count > 100;</code>

このクエリは、顧客テーブルから顧客が 100 人を超えるすべての都市を選択します。

概要

  • WHERE 句は行をフィルタリングするために使用され、グループ化の前に適用されます。
  • HAVING 句はグループをフィルタリングするために使用され、グループ化後に適用され、グループ集計関数の結果を使用できます。

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

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