所以我在一个查询中加入两个表,让我们在下面使用它作为例子:
SELECT property.address, property.city, property.state, property.zip, unit.name
FROM property, unit
WHERE unit.propertyID = property.id
此表可以返回单位表中具有匹配单位的所有属性的列表。
我的问题是,如果我有没有单位的属性,我仍然希望这些属性出现,用“N / A”或“NULL”代替单位名称......
截至目前,它完全排除了那些没有至少1个匹配单元的属性。
有什么想法吗?
答案 0 :(得分:1)
将查询更新为正常工作的最简单方法:
SELECT property.address, property.city, property.state, property.zip, unit.name
FROM property
left join unit on property.id = unit.propertyID
使用别名编写它的更好方法:
select p.address, p.city, p.state, p.zip, u.name
from property p
left join unit u on p.id = u.propertyID
在没有单位时填充值:
select p.address, p.city, p.state, p.zip, IFNULL(u.name,'N/A') as unitName
from property p
left join unit u on p.id = u.propertyID
答案 1 :(得分:0)
使用LEFT OUTER JOIN:
SELECT p.address, p.city, p.state, p.zip, u.name
FROM property p LEFT OUTER JOIN unit u ON p.id = u.propertyID