oracleのwhereとhaveの違い

下次还敢
リリース: 2024-05-02 23:12:18
オリジナル
1022 人が閲覧しました

WHERE 句と HAVING 句の違いはスコープです。WHERE は基本的な行をフィルタリングし、HAVING はグループ化された結果セットをフィルタリングします。 WHERE は単一行の条件に使用され、HAVING はグループ結果の条件に使用されます。 WHERE は FROM の後かつ SELECT の前に来ます。HAVING は GROUP BY の後に来ます。 WHERE は単独で使用できますが、HAVING はグループ操作と一緒に使用する必要があります。

oracleのwhereとhaveの違い

#Oracle の WHERE 句と HAVING 句の違い

WHERE と HAVING は 2 つの SQL 句であり、フィルタリングに使用されます。データセット。それらの主な違いはスコープです:

1. スコープ

  • WHERE 句は、ベースのテーブルまたはビューをフィルターするために使用されます。行。これはグループ化操作の前に実行されるため、単一の行に条件が適用されます。
  • HAVING 句は、グループ化された結果セットをフィルタリングするために使用されます。グループ化操作の後に実行されるため、グループ化の結果に条件が適用されます。

2. 使用シナリオ

  • WHERE 句 は、特定の条件を満たさない行をフィルターするために使用されます。たとえば、価格が 100 ドルを超えるすべての商品を検索するには、次のようにします。
<code class="sql">SELECT * FROM products WHERE price > 100;</code>
ログイン後にコピー
  • HAVING 句 を使用して、特定の条件を満たすグループをフィルターします。たとえば、平均価格が 100 ドルを超えるアイテムのグループを検索するには:
<code class="sql">SELECT category, AVG(price) AS avg_price
FROM products
GROUP BY category
HAVING avg_price > 100;</code>
ログイン後にコピー

3. Location

  • WHERE 句 は、FROM 句の後、SELECT 句の前にあります。
  • HAVING 句 は、GROUP BY 句の後にあります。

4. 例

<code class="sql">-- 使用 WHERE 子句过滤行
SELECT * FROM orders WHERE customer_id = 1;

-- 使用 HAVING 子句过滤组
SELECT product_category, SUM(quantity) AS total_quantity
FROM order_details
GROUP BY product_category
HAVING total_quantity > 100;</code>
ログイン後にコピー

注:

    HAVING 句はグループ化を使用した場合にのみ機能します。 WHERE 句はどの SQL ステートメントでも使用できます。
  • HAVING 句で使用される条件は、集計関数またはグループ化列を参照する必要があります。

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

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