EXISTS的使用
Oracle中EXISTS的使用
1.SQL语句的执行顺序
SQL语句的执行顺序
1.from
2.where
3.gruop by
4.having
5.select
6.order by
2.EXISTS的使用
exists只返回true, false
select * from employee where exists (select * from address where add='BJ');
1.从SQL的顺序去思考,先是执行from,确定对象是employee
2.在employee表中,一行一行的确定是否满足where后面的条件
3.在第一行的时候,后面的select * from address where add='BJ'
如果有值,exists返回true,第一行筛选出;
在对第二行进行判断,依次类推,一行行的把符合条件的语句筛选出来。
4.上面的语句中,如果select * from address where add='BJ'
有值,则表示每一行都会返回true,等价于select * from employee where 1=1
;如果没值,则不会查出任何记录,等价于select * from employee where 1<>1