NOT IN條件需要注意NULL的問題

2022-08-24 13:45:10 字數 869 閱讀 1442

sql中的not in運算子是我們在開發中經常使用的乙個操作符,使用它我們可以將選擇的條件限定在指定的範圍之內。not in的條件使用簡單方便,但是也有一些需要我們多加注意的點,今天在處理問題的時候,就遇到了乙個前人留下來的坑,在此記錄之,避免重蹈覆轍。

首先假設有如下的乙個表:

我們通過如下sql進行查詢是可以得到正確的結果的。

select * from test_null where age not in(0,2,5)
結果如下:

但是當not in條件裡面出現null就會出現意想不到的結果了,執行如下的sql就查不到任何的資料。

select * from test_null where age not in(0,2,5,null)
如果not in裡面的條件是乙個子查詢的結果也是一樣的,當執行如下的sql也是查不到任何的資料的。

SQL中Null需要注意的地方

一 null不支援大小 相等判斷 下面的2個查詢,不管表 users 中有多少條記錄,返回的記錄都是0行 select fromuserswheredeleted at null select fromuserswheredeleted at null 用常規的比較操作符 normal condit...

判斷條件為空時需要注意

if accessuser null equals accessuser accesspassword null accesspassword.equals accessuser.equals usercheck accesspassword.equals passwordcheck 第一點 先判斷...

constraintlayout 需要注意的事項

橫向和豎向至少都需要設定乙個約束條件,但是實際上下左右都是可以設定約束條件的。仔細觀察android studio 預設的建立專案的textview 如果上下左右都設定了約束條件就會產生邊距。劃重點 相同方向的屬性,比如說top to top 這樣的,實際上可以理解為是relativelayout中...