sql >> Database >  >> RDS >> Sqlserver

NULL-waarden binnen de NOT IN-clausule

Vraag A is hetzelfde als:

select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null

Sinds 3 = 3 waar is, krijg je een resultaat.

Vraag B is hetzelfde als:

select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null

Wanneer ansi_nulls is aan, 3 <> null is UNKNOWN, dus het predikaat evalueert naar UNKNOWN, en u krijgt geen rijen.

Wanneer ansi_nulls is uit, 3 <> null is waar, dus het predikaat evalueert waar, en je krijgt een rij.



  1. Oracle-identiteitskolom en invoegen in select

  2. MySQL - hoeveel rijen kan ik invoegen in één enkele INSERT-instructie?

  3. Gegevens selecteren van twee verschillende servers in SQL Server

  4. Hoe EXP() werkt in MariaDB