前回の続き
前回は、サブクエリを勉強しました。
今回は、サブクエリを使って、他のテーブルにデータが存在するかという確認をもって、抽出条件を決める方法を紹介します。
EXISTS
EXISTSは、データが存在するかを確認するものです。
ちなみに、データが存在しないかを確認する場合は、NOT EXISTSを用いればよいということになります。
では、早速やってみようというまえに外部結合の回をおもいだしてください、
ここで、こんなSQLをかきました。
SELECT * FROM Person.Person PP LEFT JOIN Sales.PersonCreditCard PC ON PP.BusinessEntityID = PC.BusinessEntityID WHERE PC.BusinessEntityID IS NULL
これの出力が854件でしたね。
これについて、EXISTSを使って同様の出力を得ることができます。
SELECT * FROM Person.Person PP WHERE NOT EXISTS( SELECT * FROM Sales.PersonCreditCard PC WHERE PP.BusinessEntityID = PC.BusinessEntityID )
出力は以下の通り。
854件ですね。
以上、今回はここまで。