MySQL Left JOIN時指定NULL列返回特定值詳解
更新時間:2013年07月02日 11:37:34 作者:
我們有時會有這樣的應用,需要在sql的left join時,需要使值為NULL的列不返回NULL而時某個特定的值,比如0。這個時候,用is_null(field,0)是行不通的,會報錯的,可以用ifnull實現,但是COALESE似乎更符合標準
coalesce 函數可以接受多個參數,將會返回這些參數中第一個非NULL的值,若提供的參數全部為NULL,則返回NULL
ifnull 函數和coalesce功能一樣,只是只可以接受兩個參數
if 函數接受三個參數,實現類似于三元判斷符(?:)的功能,即第一個參數不為NULL且不為0時,返回第二個參數,否則返回第三個參數
復制代碼 代碼如下:
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
上述語法是做一個統計,本身會返回NULL,但是為空的話并不是一個好的做法,所以用coalesce來解決
您可能感興趣的文章:
- 超詳細mysql left join,right join,inner join用法分析
- mysql not in、left join、IS NULL、NOT EXISTS 效率問題記錄
- 深入理解mysql之left join 使用詳解
- MySQL在右表數據不唯一的情況下使用left join的方法
- MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程
- 解析mysql left( right ) join使用on與where篩選的差異
- mysql多個left join連接查詢用法分析
- MySQL利用profile分析慢sql詳解(group left join效率高于子查詢)
- MySQL的LEFT JOIN表連接的進階學習教程
- MySQL聯表查詢基本操作之left-join常見的坑
相關文章
MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法
這篇文章主要介紹了MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法,需要的朋友可以參考下2014-06-06
Jaspersoft?Studio添加mysql數據庫配置步驟
這篇文章主要為大家介紹了Jaspersoft?Studio添加mysql數據庫配置的步驟過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02
Ubuntu搭建Mysql+Keepalived高可用的實現(雙主熱備)
本文主要介紹了Ubuntu搭建Mysql+Keepalived高可用的實現(雙主熱備),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11

