在寫SQL 條件語句是常常用到 不等於‘!=’的篩選條件,此時要注意此條件會將字段爲null的數據也當作知足不等於的條件而將數據篩選掉。spa
例:表Aci
A1 | B1 |
1 | 0 |
2 | 1 |
3 | NULL |
用 select * from A where B1 != 1查詢時獲得的結果爲:開發
A1 | B1 |
1 | 0 |
第三列 B1爲空的也是會篩選掉的。table
要查出第三列只需將SQL 改成 :select * from A where B1 != 1 or B1 is null 便可。效率
上面這種方法最通俗,網上也最多,可是我老是感受效率過低。select
目前我使用的方法是:select * from A where IFNULL(B1,'') != 1方法
開發中遇到的問題,作下記錄。數據