Jon*_*Jon 3 sql postgresql select join
是否可以在单个查询中有两个联接,其中第二个联接是 table_2 和 table_3 之间的连接(table_1 中没有键引用)?
table_1
id | column_a
table_2
id | table_1_id | table_3_id | column_b
table_3
id | column_c
Run Code Online (Sandbox Code Playgroud)
现有查询:
SELECT * FROM table_1 RIGHT OUTER JOIN table_2 WHERE table_1.id id = ? and WHERE column_a = ?
Run Code Online (Sandbox Code Playgroud)
为我提供了 table_1 和 table_2 中所需的信息,但 table_2 的信息将只有 table_3_id 列。
在同一个查询中,我想加入 table_3 以根据 table_2.table_3_id 获取其数据
一句话——是的。您可以添加更多join子句:
SELECT *
FROM table_1
RIGHT OUTER JOIN table_2 ON table_1.table_2_id = table_2.id
RIGHT OUTER JOIN table_3 ON table_2.table_3_id = table_3.id
WHERE table_1.id = ? AND column_a = ?
Run Code Online (Sandbox Code Playgroud)