Oracle中select 1和select *的區(qū)別 |
發(fā)布時(shí)間: 2012/8/13 17:05:58 |
創(chuàng)建myt表并插入數(shù)據(jù),如下: 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則返回所有行對(duì)應(yīng)的所有列。 select 1常用在exists子句中,檢測(cè)符合條件記錄是否存在。 如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); 沒有返回錯(cuò)誤,說明,并沒有讓select語(yǔ)句參與計(jì)算。 在exists子句中寫select *并不返回表中所有的列,只是檢測(cè)符合條件記錄是否存在。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |