"Null"
- NULL(空值)
查 NULL 在比較、計數與分組裡各自怎麼表現時
- SQL.6 連接之後的列數與空缺:列數膨脹、外連接補的 NULL 與三值邏輯
連接讓聚合多算的機制與計數、加總、平均、中位數各自的修法,以及外連接補出來的 NULL 在 count、等號比較、NOT IN 與 NOT EXISTS 上的行為
- SQL.9 分組鍵的選擇:鍵與一組所代表的對象
外連接之後拿右表欄位當鍵的後果、輸出非分組欄時 MySQL、DuckDB 與 SQLite 的反應、補進鍵的欄位要滿足的函數相依,以及改用 NOT EXISTS 回答的那一類問題
- SQL.11 查詢結果的列序:沒有 ORDER BY 時的來源與 ORDER BY 的規定範圍
同一段查詢在建索引前後回不同順序的機制、ORDER BY 在求值順序的位置,以及空值落在哪一端各家的差別
- SQL.13 查詢的合法性與答案的正確性:引擎檢查的範圍、答案錯掉的成因與查證方法
合法與問對了分別由誰負責、答案錯掉時引擎為什麼不報錯,以及靜態分析、約束與反例資料各自判得出哪些錯
- Constraint(約束)
看到「這個保證要來自約束而不是來自習慣」,或想確認某一欄會不會出現 NULL 時,查這一層由誰擋