サーチ…
存在理由
顧客テーブル
イド | ファーストネーム | 苗字 |
---|---|---|
1 | Ozgur | Ozturk |
2 | ユセフ | メディ |
3 | ヘンリー | タイ |
注文表
イド | 顧客ID | 量 |
---|---|---|
1 | 2 | 123.50 |
2 | 3 | 14.80 |
少なくとも1つの注文ですべての顧客を獲得する
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
結果
イド | ファーストネーム | 苗字 |
---|---|---|
2 | ユセフ | メディ |
3 | ヘンリー | タイ |
注文なしですべての顧客を得る
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
結果
イド | ファーストネーム | 苗字 |
---|---|---|
1 | Ozgur | Ozturk |
目的
EXISTS
、 IN
、 JOIN
は同じ結果に使用されることがありますが、等しくはありません。
-
EXISTS
を使用して、別のテーブルに値が存在するかどうかを確認する必要があります - 静的リストに
IN
を使用する必要があります -
JOIN
を使用して、他のテーブルからデータを取得する必要があります。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow