在SQL中,LEFT
函數(shù)用于從左表(主表)返回所有的列,并從右表(子表)返回匹配的行。當(dāng)右表中沒有匹配的行時(shí),結(jié)果集中將用NULL填充右側(cè)的列。如果你想處理這些NULL值,可以使用COALESCE
函數(shù)或IFNULL
函數(shù)來替換它們。
以下是使用LEFT
函數(shù)和COALESCE
函數(shù)處理空值的方法:
SELECT
t1.column1,
t1.column2,
COALESCE(t2.column3, 'default_value') AS column3
FROM
table1 t1
LEFT JOIN
table2 t2
ON
t1.id = t2.id;
在這個(gè)例子中,我們從table1
和table2
中選擇數(shù)據(jù),并使用LEFT JOIN
基于它們的id
列進(jìn)行連接。如果table2
中沒有匹配的行,column3
將顯示為NULL。我們使用COALESCE
函數(shù)將NULL值替換為’default_value’。
如果你想使用IFNULL
函數(shù),可以這樣寫:
SELECT
t1.column1,
t1.column2,
IFNULL(t2.column3, 'default_value') AS column3
FROM
table1 t1
LEFT JOIN
table2 t2
ON
t1.id = t2.id;
這個(gè)查詢的功能與使用COALESCE
函數(shù)的查詢相同,只是使用了不同的函數(shù)來處理NULL值。