假设我们有3个这样的表:
tab_user | id_usr | ... |
tab_cat | id_cat | ... |
tab_user_cat_relationship | id_cat(tab_cat的fk)| id_usr(tab_user的fk)| type_ac |
我需要按特定类别ID选择所有用户及其type_ac(来自tab_user_cat),所以我这样做:
select tab_user._id, tab_user_cat.type_ac
from tab_user,tab_user_cat
where tab_user._id = tab_user_cat.fk_user_id
and tab_user_cat.fk_cat_id='01'
预期回应:
| _id| type_ac |
| 001| |
| 002| |
| 003| B |
| 004| A |
但我只得到:
| _id | type_ac |
| 003| B |
| 004| A |
答案 0 :(得分:1)
使用LEFT OUTER JOIN
select tab_user._id, tab_user_cat.type_ac
from tab_user
left outer join tab_user_cat
on tab_user._id = tab_user_cat.fk_user_id
and tab_user_cat.fk_cat_id='01'
注意: - 始终使用ANSI JOIN
语法。