请问not exists和exists的区别
我总也弄不明白
最好能举个例子
小弟不胜感激啊!!!
我总也弄不明白
最好能举个例子
小弟不胜感激啊!!!
解决方案 »
- 数据恢复其实并不复杂?因为recover命令完全是由oracle自动完成的
- 关于PL-SQL工具请教两个问题
- 几行不懂的代码
- 请教高手?把access库中的表导入到oracle库中,用vb应该怎么办?着急!!!!!
- 跪求RMAN技术文档
- oracle中有没有遇错时自动回滚的设定方法
- windows server 2003 标准版上安装oracle 8.1.5创建数据库时遇到ora-04031错误
- 请问有没有oracle for solaris(intel)的下载???
- linux下oracle数据库安装过程中报错
- 请教一条oracle语句
- oracle 基础常见问题?求高手指点!
- oracle的安装后使用的问题,
not exists--not in
exists--in
EXISTS 在....存在
form student
where exists (select 1
from student
where name = 'fuyou001')上面的意思 是:当存在name 为fuyou001,就了取出student 里的idselect id
form student
where noet exists (select 1
from student
where name = 'fuyou001')当不存在name 为fuyou001,就了取出基id
commit;select name
from t_name
where not exists(select 1 from dual where 1=0);
select name
from t_name
where not exists(select 1 from dual where 1=1);select name
from t_name
where exists(select 1 from tt_name where 1=1);
select name
from t_name
where exists(select 1 from tt_name where 1=0); 挺好玩的,自己试下就明白了
select * from tab where
exists
(select 1 from dual); --只要本行子查询能查询到的记录行数大于0,则exists条件就为真!!
from t_name
where exists(select 1 from tt_name where 1=0);
例子create table c01
(
a01id number(10),
a0102 varchar2(10),
a0103 varchar2(10),
a0104 varchar2(10)
);create table c02
(
a02id number(10),
a0202 varchar2(10),
a0203 varchar2(10),
a0204 varchar2(10)
);begin
insert into c01 values (1,'aaa','aaa','aaa');
insert into c01 values (2,'bbb','bbb','bbb');
insert into c01 values (3,'ccc','ccc','ccc');
insert into c01 values (4,'ddd','ddd','ddd');
insert into c01 values (5,'eee','eee','eee');
end;begin
insert into c02 values (1,'aaa','aaa','aaa');
insert into c02 values (2,'bbb','bbb','bbb');
insert into c02 values (3,'ccc','ccc','ccc');
insert into c02 values (7,'ddd','ddd','ddd');
insert into c02 values (8,'eee','eee','eee');
end;select * from c01 a where not exists (select 'x' from c02 c where a.a01id=c.a02id);select * from c01 a where exists (select 'x' from c02 c where a.a01id=c.a02id);