想象一下这个db表:
|id |value|
|1a |a |
|2b |b |
|3c |c |
以下SQL:
select * from bar b where b.id in (1,2,3,4)
是否可以获得以下内容:
|id |value |
|1a |a |
|2b |b |
|3c |c |
|4d |<null> |
基本上,我想知道哪个查询参数没有返回值。
答案 0 :(得分:2)
您必须创建包含所有所需值的内联值。然后LEFT JOIN
你的桌子:
select t1.id, t2.*
from (
SELECT 1 AS id UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4
) AS t1
LEFT JOIN bar AS t2 ON t1.id = t2.id
答案 1 :(得分:0)
如果您能够将ID插入到自己的数据库表中,则可以使用类似
的内容SELECT t1.id, t2.value
FROM (SELECT id FROM guids) as t1
LEFT JOIN table2 ON t1.id = t2.id