我有两张桌子
device(id, name)
device_map(email, old_device_id)
device_map
是users
和old devices
的列表。有些用户可能没有旧设备。
old_device_id
为unique
,并在设备表中引用id
。但它也可以是null
。
现在我想对表连接进行选择查询。
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_map
中old_device_id
为空的某些行。
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
答案 0 :(得分:1)
以下是查询:
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
INNER JOIN
和device_map
表之间的 device
会自动删除null
值为old_device_id
的记录。
LEFT JOIN
也会包含空记录。