-1

私の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 で書けるものはEXCEPTSQL で書けるようで、 for andとandNOT INも同様です。これらのキーワードの違いを教えてください。たとえば、他の構造と同じであり、類似しています。それらは本当に同等ですか?UNIONORANDINTERSECTselect * 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')

?

4

1 に答える 1

1

これは役立つかもしれません:

http://www.vbdotnetheaven.com/uploadfile/sscheral/sql-union-sql-intersect-sql-except-sql-exists-and-sql-case-for-beginners/

実際には、「違い」の 1 つは、INTERSECT と EXCEPT がすべてのプラットフォームで実装されていないことだと思います (これは、Sung が示唆していると思います)。

于 2012-06-01T14:49:00.593 に答える