我有两张桌子,
table_t1
和table_t2
。
首先,我必须查看table_t1
并从中获取数据,但table_t1
中找不到数据,然后我必须从table_t2
获取数据。
注意 :仅当table_t2
中找不到数据时才从table_t1
获取数据。
我试图对此进行查询,但遗憾的是没有成功,它离工作太远了。
你能帮助我吗?
答案 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的全表扫描,但根据查询指标很明显,没有一个被完全扫描