[英]left join return null even if there are no rows
我的桌子:
表cat
有id, name
表user
有id, uname, catid
樣本數據:
貓桌
1 | Cate one 2 | cate two
用戶表
1 | sam | 1 2 | dam | 0
我的疑問是
SELECT cat.id, cat.name
FROM cat LEFT JOIN user
ON cat.id = user.catid
WHERE user.id = 2
由於沒有id
0的類別,因此我得到零行。
如果沒有行,我想要NULL
或0作為結果。
我怎么做?
您需要將左連接轉為右連接或交換表:
SELECT cat.id, cat.name
FROM user LEFT JOIN cat ON cat.id = user.catid
WHERE user.id = 2
使用示例數據,這將為您提供包含空值的行。
將LEFT JOIN
更改為RIGHT JOIN
...應該從users表中提取所有內容,如果可用,則從類別表中提取任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.