当table_1中没有数据时从table_2获取值

时间:2016-11-04 13:26:25

标签: sql oracle

我有两张桌子, table_t1table_t2

首先,我必须查看table_t1并从中获取数据,但table_t1中找不到数据,然后我必须从table_t2获取数据。

注意 :仅当table_t2中找不到数据时才从table_t1获取数据。

我试图对此进行查询,但遗憾的是没有成功,它离工作太远了。

你能帮助我吗?

1 个答案:

答案 0 :(得分:3)

假设两个表的结构相同。
如果不是这种情况,请将*替换为匹配的列/表达式。

select * from t1
union all
select * from t2 where not exists (select null from t1)

我在Oracle Database 11g Express Edition 11.2.0.2.0版 - 64位生产版上进行了一些测试,重点是UNION ALL的第2部分。
虽然执行计划指示t1和t2的全表扫描,但根据查询指标很明显,没有一个被完全扫描