内部加入或UNION

时间:2011-10-17 12:45:54

标签: sql-server

对于ID = 101数据来自不同的TABLE

所有TABLES都有一个ID列

           Name      Income     
Table_A     a        $6,868     
Table_B     b        $4,443 
Table_C     c        $6,726     
Table_D     d        $10,163    
Table_E     e        $4,853 
Table_F     f        $3,368 

要获得上面的结果我应该使用UNION还是Inner JOIN?

TABLE_A

ID  NAME  INCOME
101  a    $6,868    


TABLE_B

ID  NAME  INCOME
101  b    $4,443    

和其他表一样

我应该在这里使用Inner Join或UNION吗?

2 个答案:

答案 0 :(得分:2)

如果通过查看表X中的 来计算行X,则UNION是正确使用的工具。

答案 1 :(得分:1)

这是建立数据库设计的一种奇怪方式,但您可以使用INNER JOIN进行此类查询。

类似的东西:

select *
from table_a a
inner join table_b b
on a.ID = b.ID
inner join table_c c
on a.ID = c.ID
inner join table_d d
on a.ID = d.ID
inner join table_e e
on a.ID = e.ID
inner join table_f f
on a.ID = f.ID
where a.ID = 101

如果不了解现有表格的结构,很难为您的利用率提供更具体的查询。