首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL LEFT JOIN 為 NULL 列指定預設值:COALESCE、IFNULL、IF 函數詳解

     編輯:MySQL 資料庫相關知識

常用函數對比

函數參數數量行為備註
COALESCE多個返回第一個非 NULL 值,全 NULL 則返回 NULL標準 SQL,推薦使用
IFNULL2同 COALESCE 兩參數版MySQL 專有
IF3expr1 不為 NULL 且不為 0 → 返回 expr2,否則 expr3類三元運算符

實戰範例:品牌統計去 NULL

SELECT a.*, COALESCE(t.cous, 0) AS count
FROM brand AS a
LEFT JOIN (
    SELECT brandid AS bid, COUNT(1) AS cous
    FROM shopbrand
    GROUP BY brandid
) t ON a.brandid = t.bid
ORDER BY count DESC
LIMIT 0, 20;

場景:統計各品牌店鋪數,無店鋪品牌 COUNT 為 NULL,用 COALESCE(t.cous, 0) 轉為 0,利於排序與前端顯示。

進階組合

-- 多重兜底:優先取 t.cous,否則 t.cnt,最後 0
COALESCE(t.cous, t.cnt, 0)

-- 搭配 IF 實現條件邏輯
IF(t.cous > 10, '熱門', '普通')
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved