如何在三个表上使用join

时间:2011-06-09 07:21:40

标签: oracle

我有三张桌子

表1表2和表3.

表1具有列ID。 表2具有列名ID,名称。 表三列名为Name。

现在我想从表2中的table1中检索ID,以便表格中与ID相关联的名称应该在表3中。

Table1.ID = Table2.ID(Table2.Name = Table3.Namw)。

不使用IN运算符。只能加入。

2 个答案:

答案 0 :(得分:5)

select table1.id, table2.name
from table1
join table2 on table2.id = table1.id
join table3 on table3.name = table2.name

答案 1 :(得分:1)

select distinct t1.ID
from Table1 t1
    ,Table2 t2
    ,Table3 t3
where t1.ID = t2.ID
  and t2.Name = t3.Name
;

select t1.ID
from Table1 t1
where exists (
  select 1
  from Table2 t2
      ,Table3 t3
  where t1.ID = t2.ID
    and t2.Name = t3.Name
);