我想在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