サーチ…
存在理由
顧客テーブル
| イド | ファーストネーム | 苗字 |
|---|---|---|
| 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