Mysql查询问题(如何消除旧设备id列的空值记录)
我有两张桌子Mysql查询问题(如何消除旧设备id列的空值记录),mysql,Mysql,我有两张桌子 device(id, name) device_map(email, old_device_id) device\u map是用户和旧设备的列表。有些用户可能没有旧设备 old_device_id是唯一的,并引用设备表中的id。但它也可以是null 现在我想让select查询表连接 select device.email, device.old_device_id, device.name from join of device.id and device_map.old_de
device(id, name)
device_map(email, old_device_id)
device\u map
是用户
和旧设备
的列表。有些用户可能没有旧设备
old_device_id
是唯一的
,并引用设备表中的id
。但它也可以是null
现在我想让select查询表连接
select device.email, device.old_device_id, device.name
from join of device.id and device_map.old_device_id sort by device.name
未选择device\u map
中具有old\u device\u id
null的某些行
SELECT dmap.email, dmap.old_device_id, d.name
FROM device_map dmap
JOIN device d ON d.id = dmap.old_device_id ORDER BY d.name
以下是查询:
SELECT dm.email, dm.old_device_id, d.name
FROM device_map dm
LEFT JOIN device d ON d.id = dm.old_device_id ORDER BY d.name
设备映射
和设备
表之间的内部联接
将自动消除旧设备id
值为空的记录
左连接
也将包括空记录。您能提供您的SQL吗?看起来你没有使用左连接。你能给我们提供一些示例结果吗?比如你有什么数据,你期望什么?我试过同样的查询。我也想包括所有空记录。@Durgaprasad:我已经更改了查询。如果您还想包括空记录,那么应该使用左连接
而不是内部连接