Oracle内部/外部/完全加入

时间:2013-08-31 14:07:38

标签: oracle join inner-join outer-join

我有两个表table1和table2

在table1中我有两列table1.userid和table2.full_name,在table2中我有两列table2.userid和table2.ssn

我想要记录userid存在于table1和table2中的记录。

如果table2中存在用户ID存在于table1中,则应忽略这些记录。如果不存在而不是想要来自table1的数据。还需要table2中的其他数据。

我应该使用内/外/全连接吗?

你可以帮我一下吗。

1 个答案:

答案 0 :(得分:1)

如果您希望两个表中都有userid个,请使用inner join

select . . .
from table1 t1 inner join
     table2 t2
     on t1.userid = t2.userid;

如果您想要所有 userid中的table1,请使用left outer join

select . . .
from table1 t1 left outer join
     table2 t2
     on t1.userid = t2.userid;

如果您想要所有两个表中的userids,请使用full outer join

select . . .
from table1 t1 full outer join
     table2 t2
     on t1.userid = t2.userid;