MySQL中IN對NULL的處理

  先說結論,MySQL中NULL是不參與計算的,對NULL進行計算,只可以使用預設的IS NULL和IS NOT NULL來操作

  student表中,有三條數據,id分別是1、2、3

SELECT
    *
FROM
    student
WHERE
    id IN (1,2,NULL)

  會查詢出來id=1和id=2的記錄

SELECT
    *
FROM
    student
WHERE
    id NOT IN (1,2,NULL)

  查詢結果是空,上面的sql可以理解爲

SELECT
    *
FROM
    student
WHERE
    id !=1 AND id !=2 AND id != NULL

  而上面有說到結論,MySQL的NULL是不能直接參與計算的,若違背規則,會導致最終查詢的結果集是空

發佈了157 篇原創文章 · 獲贊 191 · 訪問量 147萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章