如何在 JOIN 子句中使用多个 table 的 UNION

How to use UNION of more than one table in JOIN clause

我需要在 select 的连接子句中加入多个 table,下面给出了一个示例

select .. ... 
from table_a inner join (/*here i want to join two tables(ex. table_c and table_b)*/ )  -- not i am using left join also which is in another condition
where /*some condtitions*/

这怎么可能?

JOIN 是一个二元运算符,因此您可以同时连接两个表或视图。为了连接三个表,您可以连接其中两个,然后将结果与第三个连接。

这就像加法:要对三个数字求和,先将第二个加到第一个上,然后将第三个加到结果上。

select * from
    table_a a
     inner join
    table_b b on a.id= b.id
     inner join 
    table_c c on b.id= c.id
 where /*some conditions*/;

你是说你想这样做吗?

select ...
from   table_a join
       (select ... from table_b
        union
        select ... from table_c) t on table_a.col = t.col

那种事?