oracle中的联合查询[关闭]

Posted

技术标签:

【中文标题】oracle中的联合查询[关闭]【英文标题】:Union query in oracle [closed] 【发布时间】:2013-12-09 07:48:52 【问题描述】:

我在 oracle 中有如下要求。 有两张表,分别是姓名、Dob、地址。

表1

Personid   name       dob        adrs
1          Jack    05/06/1990    USA
2          Jill    05/06/1985    UK

表2

Personid   name       dob        adrs
1          Jack    
3          Smith 

我必须从两个表中进行联合查询,这样 如果两个表中的名称相同,则只有一行应该返回类似的结果

Personid   name       dob        adrs
1          Jack    05/06/1990    USA
2          Jill    05/06/1985    UK
3          Smith 

提前感谢。

【问题讨论】:

【参考方案1】:

这样试试,

SELECT personid, name, dob, adrs 
FROM table1
UNION ALL
SELECT personid, name, dob, adrs 
FROM table2 t2
WHERE t2.personid NOT IN (SELECT personid
                          FROM   tabl1);

这里我使用PERSONID 而不是NAME 来比较黑白表格。

【讨论】:

以上是关于oracle中的联合查询[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Oracle曾经的Oracle学习笔记(4-7)多表联合查询,子查询,动态条件查询

Oracle联合查询

Oracle联合查询

Oracle-11:联合查询

oracle联合查询索引失效

Oracle ODI 12c之多表联合查询以及定时任务设置