ホームページ >データベース >mysql チュートリアル >MySQL に存在するかどうかを共有する例

MySQL に存在するかどうかを共有する例

黄舟
黄舟オリジナル
2017-07-30 13:38:351819ブラウズ

この記事では主にmysqlのexistsインスタンスとnotexistsインスタンスの詳細な説明に関する関連情報を紹介します。多くの場合notexistsインスタンスの効率がnot inインスタンスよりも高いため、必要な場合は後者ではなく前者が使用されます。それへ

mysqlの存在と存在しない例の詳細な説明

tableA

|column1 |column3 |

tableb

|column1 |column3 |

へtableA のデータをクエリします。条件は、 tableA.column1 であり、tableB の tableB.column2 にありません

つまり、次のステートメントと同様の効果を得る必要があります (not in の効果は、次のステートメントと完全に同等ではありません)空のレコードがサブクエリに現れた場合、クエリ ステートメント全体はデータを返しません)


SELECT 
  a.*
FROM
  tableA a
WHERE 
  a.column1 not in (
    SELECT column2 FROM tableB
  )

次のステートメントを使用して実装できます


SELECT
  a.*
FROM
  tableA a
WHERE
  NOT EXISTS(
    SELECT b.column2 FROM tableB b WHERE a.colunm1=b.column2
  )

上記は 2 つのテーブルの場合のみです。 . 実は、上記の書き方はexistsにも適用できて使いやすいです

以上がMySQL に存在するかどうかを共有する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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