条件查询,如果第一个查询没有找到任何内容?

时间:2018-12-21 19:30:55

标签: sql oracle oracle11g

我需要从一个表中获取一个字段,如果不存在,请尝试从另一个表中获取它

BeforeDoubleClick

如果它在那里-如果它不在那里,则将其返回

lstPeople.RowSource="Insert Table Name Here"

由于我正在编写Web应用程序,所以我想最大程度地减少代码和数据库命中,因此我想知道是否有一种方法可以在单个查询中执行此操作,而不必在不需要时都单击两个查询。

左联接可以工作,但是表很大(上百万条记录),如果不需要,我不希望它同时击中这两个表。

1 个答案:

答案 0 :(得分:2)

您可以使用not exists

with ap as (
      select printer_id from all_printers where printer_name = 'printer1'
     )
select printer_id
from ap
union all
select printer_id
from new_printers np
where not exists (select 1 from ap)