Könnten Sie mir bitte die Unterschiede zwischen erzählen?
select CustomerId from Customer Where TerritoryId <> All(select TerritoryId from Salesperson)
select CustomerId from Customer where TerritoryId NOT IN (select TerritoryId from Salesperson)
Könnten Sie mir bitte die Unterschiede zwischen erzählen?
select CustomerId from Customer Where TerritoryId <> All(select TerritoryId from Salesperson)
select CustomerId from Customer where TerritoryId NOT IN (select TerritoryId from Salesperson)
Antworten:
Es gibt keinen Unterschied im Ergebnis, aber es gibt eine etwas andere Semantik.
X [comparison] ALL(set)
bedeutet, dass set
leer ist oder der Vergleich TRUE
für jeden Eintrag im Satz ist.
X NOT IN (set)
bedeutet, dass X nicht zur Menge gehört.
Während [comparison]
"nicht gleich" ist, sind beide Formen gleichwertig. Bei anderen Vergleichen kann dies jedoch anders sein.