このクエリの動作を理解できません。すべての商品を注文した顧客の名前を返すことになっています。
Rは、顧客 ID (cid) とアイテム ID (iid) を含む顧客によるアイテム注文のテーブルを参照します。
アイテムIDを含む注文可能なアイテムのテーブルを参照します
Cは顧客 ID を持つ顧客テーブルです
SELECT cname
FROM Customer C
WHERE NOT EXISTS
( (SELECT I.iid
FROM Item I)
EXCEPT
(SELECT R.iid
FROM Order R
WHERE R.cid=C.cid))
私が推測するところによると、SELECT R.iid を使用した一番下のネストされたクエリは、任意の顧客が注文したすべてのアイテムを取得します。
次に、SELECT I.iid を使用した上記のネストされたクエリは、以下のクエリで除外することにより、以前に注文されていないすべてのアイテムを検索します。
ネストされている場合、NOT EXISTS はどのステートメントを評価しますか? R.cid = C.cid は FROM 顧客 C のせいですか? . どうすれば最終結果にたどり着くのかわかりません。助けてくれてありがとう。