你好,我有以下两个表:
表:计算机
|id|pc|user_id|
|:---|:-----|:----|
|1|M-1|25|
|2|p-1|15|
|3|C-2|36|
1|4|A-5|0|
2|5|G-3|0|
2
表:用户
|| id|name|user_id|
|:---|:----|
|1|John |25|
3|Mark|15|
1|3|Tom|36|
>br>我想要这个结果
|id M-1|John|
|2|P-1|Mark |
|3|C-2|Tom |
|4|A-5|John |
>|4|A-5|Tom |
|5|G-3|John |
|5|G-3|Mark |
>|5|G-3|Tom |
我得到了具有所有可能用户名的计算机id 4和5
在这种情况下,user_id"0"不存在,但我希望值的结果=(0或空(
我希望它可能得到结果?谢谢
事实上,我想得到计算机的id,计算机的名称和用户的名称,但如果id 0不存在,我不知道我该怎么做
这看起来像left join
:
select c.*, u.name
from computers c left join
users u
on c.user_id = u.user_id
尝试左加入
SELECT column_name(s) FROM table1
LEFT JOIN table 2
ON table1.pk = table2.fk
左侧的所有行都应显示,右侧的数据应与左侧的数据相对应。如果右边没有相应的数据,它只会显示一个空