SQL 演算子を検索して取得しようとしていますExists
が、SQL Server 2008 で自分で実行するまで理解できませんでしたが、まだ明確ではありません。ヘルプ
例えば
実際に何をするかを確認するために自分でいくつかのクエリを実行したことを参照してください。
// using IN
select
customers.cus_id, customers.cusName
from
customers
where
customers.cus_id IN (Select cus_id from products
where prodCategory= 'Consumer electronics')
// using Exists
Select
customers.cus_id, customers.cusName
from
customers
where
exists (select cus_id from products
where prodCategory = 'Consumer electronics' AND customers.cus_id = products.cus_id)
どちらも同じ結果になりますが、2番目のクエリのサブクエリからこの部分を削除すると
......AND customers.cus_id=products.cus_id
その後、正しい結果が得られず、すべてのレコードがCustomers
テーブルから返されます。なんで?これで私の概念はクリアになると思いますが、助けはほとんど必要ありません。助けてください!