十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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);
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 '王%';
子句别用 distinct ,因为你用 not in ,用与不用distinct 结果都一样的。
另外你可以换用 not exists 试试看效果如何