Was ist der Unterschied zwischen <> All und Not In?


7

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:


8

Es gibt keinen Unterschied im Ergebnis, aber es gibt eine etwas andere Semantik.

X [comparison] ALL(set)bedeutet, dass setleer ist oder der Vergleich TRUEfü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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.