首頁 > 資料庫 > mysql教程 > MySQL Left JOIN时指定NULL列返回特定值

MySQL Left JOIN时指定NULL列返回特定值

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:24:20
原創
1094 人瀏覽過

我们有时会有这样的应用,需要在sql的left join时,需要使值为NULL的列不返回NULL而时某个特定的值,比如0,这个时候,用is_null

我们有时会有这样的应用,需要在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来解决。

linux

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
mysql - inner join和left join的效率問題
來自於 1970-01-01 08:00:00
0
0
0
PHP 複合查詢語句 ?
來自於 1970-01-01 08:00:00
0
0
0
mysql - 下面語句用left join 還是用not in?
來自於 1970-01-01 08:00:00
0
0
0
mysql - ThinkPHP3.2.3中連貫操作問題?
來自於 1970-01-01 08:00:00
0
0
0
錯誤使用MySQL SELECT INNER JOIN
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板