Postgresql
LEFT JOIN 和處理 NULL 值
我有兩張桌子。
表格1:
A B ------ 1 'A' 2 'B' 3 'C'
表 2:
A C ---------- 2 15 3 20
我正在使用以下查詢:
SELECT table1.A, table1.B, table2.C FROM table1 LEFT JOIN table2 ON table1.A = table2.A
問題出現在輸出中,即:
A B C --------------- 1 'A' null 2 'B' 15 3 'C' 20
有沒有辦法將 null 設為 0,因為我必須在 table2.C 上進行排序。任何幫助表示讚賞。
我的預期輸出是:
A B C --------------- 3 'C' 20 2 'B' 15 1 'A' 0
ps:我嘗試使用 IFNULL(table2.C, 0)。沒用。
這可能是最有效的解決方案:
SELECT A, t1.B, t2.C FROM table1 t1 LEFT JOIN table2 t2 USING (A) ORDER BY t2.C NULLS FIRST;
預設情況下,NULL 值排在最後。你可以用
NULLS FIRST
. 看: