【发布时间】:2019-08-06 01:54:14
【问题描述】:
对于给定的主键列表(以单个 id 列作为主键),我想从数据库中按顺序检索与这些 id 相关的行。如果数据库中不存在该 id,则该特定行应全部为空。
我有两个等长的列表,用于数据库中的两个不同的表。我想对两个表进行并排连接(如果可能,在服务器端)。
我们有两个 id 列表:[1, 2, 3, 4] 和 [3, 2, 4, 1]。
使用第一个表检索的第一个列表进行查询:
id c1
---- ----
1 a
2 b
3 c
4 d
使用第二个表检索第二个列表的查询:
id c2
---- ----
3 g
2 h
4 i
1 j
最终结果应该是:
c1 c2
---- ----
a g
b h
c i
d j
【问题讨论】:
-
如果主键查找失败对于给定的 id 而不是返回所有空值,只要它会抛出异常,这没关系。
-
请包括实际查询和每个表的示例数据。
标签: sql arrays postgresql join