我在sqlite中有两个表:
名字
id name
--- -----
1 Tyrion
2 Arya
3 Snow
信息
id otherID
--- ---------
2 1
3 2
1
我怎么能得到这个结果?
2, Arya, 1, Tyrion
3, Snow, 2, Arya
1, Tyrion
如果我执行此查询:
SELECT info.id, names.name, info.otherID, names2.name
FROM info
inner join names on names.id = info.id
inner join names as names2 on names2.id = info.otherID
我只有这个:
2, Arya, 1, Tyrion
3, Snow, 2, Arya
这不会出现:
1, Tyrion
如何获取可选字段的上层目录?
左联接是答案。
SELECT info.id, names.name, info.otherID, names2.name
FROM info
LEFT join names on names.id = info.id
LEFT join names as names2 on names2.id = info.otherID
info
无论表中是否有条目names
(join语句的右侧),您都希望拥有(join语句中的左侧表)的所有行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句