SQL中Null需要注意的地方

2021-07-05 07:25:24 字數 2010 閱讀 8389



一、null不支援大小/相等判斷

下面的2個查詢,不管表 users 中有多少條記錄,返回的記錄都是0行

select*fromuserswheredeleted_at =null;

select*fromuserswheredeleted_at !=null;

用常規的比較操作符(normal conditional operators)來將 null 與其他值比較是沒有意義的。 null 也不等於 null

二、not in 與 null

1、not in例項

子查詢(subselect)是一種很方便的過濾資料的方法。例如,如果想要查詢沒有任何包的使用者,可以編寫下面這樣乙個查詢:

select*fromuserswhereidnotin(selectuser_idfrompackages)

2、假若 packages 表中某一行的 user_id 是 null 的話,返回結果是空的!

3、出現上述的原因

例如

select*fromuserswhereidnotin(1, 2,null)

這個sql語句會等效於

select*fromuserswhereid != 1andid != 2andid !=null

三、group by會把null分到乙個組

四、null與排序

在排序時, null 值被認為是最大的. 在降序排序時(descending),null值排在了最前面。

Lua學習中需要注意的地方

1 全域性變數的刪除可以直接將其賦值為nil 2 字串的引用可以是單引號 或者是雙引號 習慣使用雙引號 3 lua中除了false 跟 nil 是假 其餘值都是真 0,空串都返回真 4 和 比較兩個值,如果兩個值型別不同,lua認為兩者不同 nil只和自己相等。lua通過引用比較tables use...

SQL模糊查詢及手寫SQL需要注意的地方

關於模糊查詢常用到的就是1 2 3,第4和第5還需要去驗證正確性。1 日期時間格式2020 08 29 20 01 01和日期格式2020 08 29都可以使用 between and 來查時間區間 也可以使用 示例1 查詢在8月份 2020 08 建立的使用者 select name from u...

java需要注意的地方2

1.abstract class name 大俠們,這有何錯誤?答案 錯。abstract method必須以分號結尾,且不帶花括號。2.public class something 有錯嗎?答案 錯。區域性變數前不能放置任何訪問修飾符 private,public,和protected final...