
正文
oracle非in怎么写,oracle中in
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle万恶的的not in语句
where not in如果数据量过大,可采用not exists的方式来写语句。
如有以下语句:
1
select distinct phone_number from zj_jituan_3g where phone_number not in (select phone_number from zj_34g_201512);
可改写为:
1
2
select distinct a.phone_number from zj_jituan_3g a where not exists
(select 1 from zj_34g_201512 b where a.phone_number=b.phone_number);
相关问答
Q1: oracle 有没有not like in这样的用法
oracle中有not like及in的写法,并没有not like in放一起的写法。
举例如下:
1、创建测试表,
create table test_name(id varchar2(20),name varchar2(20));
2、插入测试数据;
insert into test_name values(1, '王三');
insert into test_name values(2, '李四');
insert into test_name values(3, '王五');
insert into test_name values(4, '马六');
commit;
3、编写语句,使用not like语法,查询不含'王'的记录;
select * from test_name t where name not like '王%';
4、编写语句,使用not like in语法,查询不含'王'的记录,则会报错;
select * from test_name t where name not like in '王%';
Q2: oracle中的not in可以换成什么写法后效率更高
子句别用 distinct ,因为你用 not in ,用与不用distinct 结果都一样的。
另外你可以换用 not exists 试试看效果如何







