私のrdbmsでは、これらの式はまったく同じ出力を与えます:
select avd from avdelning where avd not in(select avd from försäljning) order by avd
select avd from avdelning except (select avd from försäljning) order by avd
SQL で書けるものはEXCEPT
SQL で書けるようで、 for andとandNOT IN
も同様です。これらのキーワードの違いを教えてください。たとえば、他の構造と同じであり、類似しています。それらは本当に同等ですか?UNION
OR
AND
INTERSECT
select * from person where person not in (select * from person where name='foo')
select * from person except where name='foo'
SELECT PersonId FROM person EXCEPT (SELECT PersonId FROM Addresses WHERE streetname='Elm Street')
=
SELECT PersonId FROM person WHERE PersonId NOT IN(SELECT PersonID FROM Addresses WHERE StreetName = 'Elm Street')
?