SQL查询:解决img_id不存在导致用户无法查询的问题
要解决'img_id'不存在的情况,可以使用左连接(LEFT JOIN)来查询。左连接会返回左表('favor_users')中所有的记录以及右表('favor_imgs')中与之匹配的记录,如果右表中没有匹配的记录,则返回NULL值。
以下是修改后的查询语句:
SELECT u.uid, u.nick_name, u.img_id, i.id, i.img_name, i.bucket, i.deleted_at
FROM favor_users u
LEFT JOIN favor_imgs i ON u.img_id = i.id
WHERE u.uid IN (19, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 25, 26, 25, 26, 25, 26, 20, 26)
这样即使'img_id'不存在,用户仍然会被查询出来,只是对应的'id'、'img_name'、'bucket'和'deleted_at'字段会为NULL。
原文地址: https://www.cveoy.top/t/topic/bhQO 著作权归作者所有。请勿转载和采集!