NOT INBazı durumlarda NULLdeğerler döndüren bir alt sorgu içeren bir cümle ile (Postgres ve Informix için) bir sorgu yaptım , bu cümlenin (ve tüm sorgunun) hiçbir şey döndürememesine neden oldu.
Bunu anlamanın en iyi yolu nedir? NULLDeğeri olmayan bir şey olarak düşündüm ve bu nedenle sorgunun başarısız olmasını beklemiyordum, ama açıkçası düşünmenin doğru yolu bu değildi NULL.
x <> NULLçözüm olarakFALSEgörüyorsanız,NOT (x <> NULL)değerlendirmeyi beklersinizTRUEve öyle olmaz. Her ikisi de değerlendirirUNKNOWN. İşin püf noktası, bir satırın yalnızcaWHERE((varsa) fıkrası olarak değerlendirilirse seçilmesidirTRUE- fıkra yaFALSEda olarak değerlendirilirse bir satır atlanır)UNKNOWN. Bu davranış (genel olarak veNOT INözellikle de belirteç için) SQL standardı tarafından zorunludur.