我想在SQL中做一些練習,但我有一個很大的問題來了解一些查詢。SQL不存在子查詢
以下是我與工作表:
Spectacle
(Spectacle_ID,滴度DateDéb,綿延,Salle_ID,Chanteur)Concert
(Concert_ID,日期,HEURE,Spectacle_ID)Salle
(Salle_ID,喃,住址,Capacité)Billet
(Billet_ID,Concert_ID,Num_Place,Catégorie,披)Vente
(Vente_ID,Date_Vente,Billet_ID,MoyenPaiement)
的問題是選擇所有chanteur
他們在所有salles
至少有一場音樂會。
的解決方案是
SELECT Chanteur
FROM Spectacle t
WHERE NOT EXISTS (SELECT *
FROM Salle u
WHERE NOT EXISTS (SELECT *
FROM Spectacle v
WHERE v.Chanteur = t. Chanteur
AND u.Salle_ID = v.Salle_ID)
)
,但我無法理解這個概念。
請教程或解釋一些幫助 - 感謝
雙重否定。除了那些場地不存在但沒有在那裏的所有表演中表演的人以外,所有人都可以獲得。我想如果你用口頭語言和邏輯來理解,你也可以使用SQL。這不是一個語法問題,更多的是讓你頭腦發熱的問題。 – dlatikay