重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
假设表名为CC:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、井研网站维护、网站推广。
create view v_cc as select rownum as rn,t1.* from cc t1;
select *
from v_cc
where (rn,c1,c2,c3,c4) not in(
select t2.*
from v_cc t2
where exists (select 1
from v_cc t1
where exists(
select 1
from v_cc
where c4=t1.c3
and c1=t1.c1
and rnt1.rn
)
and t1.c2'未接'
and t2.c4=c3
)
);
你自己不是写出来了么?我随便写几个链接方法吧
1.内连接写法
select a.*,b.* from 表1 a,表2 b where a.A=b.B;
select a.*,b.* from 表1 a join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a inner join 表2 b on a.A=b.B;
2.左外连接写法
select a.*,b.* from 表1 a left join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a left outer join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a,表2 b where a.A=b.B(+);
3.右外连接写法
select a.*,b.* from 表1 a right join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a right outer join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a,表2 b where a.A(+)=b.B;
4.完全连接写法
select a.*,b.* from 表1 a full join 表2 b on a.A=b.B;
select a.*,b.* from 表1 a full outer join 表2 b on a.A=b.B;
5.交叉连接写法
select a.*,b.* from 表1 a cross join 表2 b;
有个自带的sqlplus,在开始菜单里的话,如果你完全安装的话应该能看到,不过这东西用起来太费劲,全是敲命令行。
还有些第三方软件,自己搜索下载一下就行
譬如toad,pl/sql等,到时候连上你的oracle就可以用了
创建测试表:
create table test
(id int,
ips varchar2(100));
insert into test values (1,'1;2;3');
insert into test values (2,'4;5;6');
insert into test values (3,'7;8');
commit;
执行:
select id, REGEXP_SUBSTR(a.ips, '[^;]+', 1, l) ips
from test a, (SELECT LEVEL l FROM DUAL CONNECT BY LEVEL = 100) b
WHERE l = LENGTH(a.ips) - LENGTH(REPLACE(ips, ';')) + 1
order by id
结果: