ホームページ >データベース >mysql チュートリアル >MySQL で NOT IN を使用してマイナス演算を実行する方法

MySQL で NOT IN を使用してマイナス演算を実行する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 22:30:11256ブラウズ

How to Perform a Minus Operation in MySQL Using NOT IN?

MySQL でのマイナス演算の実行

MySQL では、Oracle データベースとは異なり、マイナス演算の実行は直接サポートされていません。ただし、NOT IN または他の手法を使用して同様の結果を達成する別の方法もあります。

問題の理解

3 つのテーブルがあります:

  • Service_Details: サービスの詳細が含まれます。
  • Servicing_States: サービスが存在する状態をリストします。
  • 例外: サービスが提供されていない郵便番号と州を示します。

これらのテーブルを結合して、結果を次のように表示することを目的としています。

SELECT query_1 - SELECT query_2

NOT IN を使用した解決策

MySQL は NOT IN を提供しますマイナス演算をエミュレートするために使用できる演算子。以下のクエリは、NOT IN を利用して目的の結果を実現します。

SELECT
  service_details.Service_Code
FROM
  service_details
WHERE
  service_details.Service_Code IN (
    SELECT
      servicing_states.Service_Code
    FROM
      servicing_states
    WHERE
      servicing_states.State = 'California'
  )
  AND service_details.Service_Code NOT IN (
    SELECT
      exception.Service_Code
    FROM
      exception
    WHERE
      exception.State = 'California'
  );

このクエリは、カリフォルニアの Servicing_States テーブルには存在するが、カリフォルニアの Exception テーブルには存在しない Service_Details テーブルから Service_Code を選択します。このアプローチは、マイナス演算の効果を模倣します。

以上がMySQL で NOT IN を使用してマイナス演算を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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