17,086
社区成员
发帖
与我相关
我的任务
分享
with a as
(
select 1 a from dual union all
select 2 from dual union all
select 3 from dual union all
select 4 from dual union all
select 5 from dual union all
select 6 from dual union all
select 7 from dual union all
select 8 from dual union all
select 9 from dual
), b as(
select 1 a from dual union all
select 2 from dual union all
select 3 from dual
)
select * from a
where (a in (select a from b)
or a=5 or a=7)
;
-- 可以考虑这样写
select * from a
where a left join b on a.a = b.a
union all
select * from a where a=5 or a=7)
select * from a
where (exists (select 1 from b where a.a=b.a) or a=5 or a=7)