Oracle中select 1和select *的区别 |
发布时间: 2012/8/13 17:05:58 |
创建myt表并插入数据,如下: create table myt(name varchar2,create_time date) insert into myt values('john',to_date(sysdate,'DD-MON-YY')); insert into myt values('tom',to_date(sysdate,'DD-MON-YY')); insert into myt values('lili',to_date(sysdate,'DD-MON-YY')); 在sql*plus中显示如下: SQL> select * from myt; SQL> select 0 from myt; 而select * from table则返回所有行对应的所有列。 select 1常用在exists子句中,检测符合条件记录是否存在。 如select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; SQL> select 1/0 from dual; SQL> select * from myt where exists(select 1/0 from dual); 没有返回错误,说明,并没有让select语句参与计算。 在exists子句中写select *并不返回表中所有的列,只是检测符合条件记录是否存在。 本文出自:亿恩科技【www.enkj.com】 |