Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

oracleÖÐin£¬not inºÍexists£¬not existsÖ®¼äµÄÇø±ð

 
 
         Ò»Ö±Ìýµ½µÄ¶¼ÊÇ˵¾¡Á¿ÓÃexists²»ÒªÓÃin£¬ÒòΪexistsÖ»ÅжϴæÔÚ¶øinÐèÒª¶Ô±ÈÖµ£¬ËùÒÔexists±È½Ï¿ì£¬µ«¿´ÁË¿´ÍøÉϵÄһЩ¶«Î÷²Å·¢ÏÖ¸ù±¾²»ÊÇÕâô»ØÊ¡£
ÏÂÃæÕâ¶ÎÊdz­µÄ
Select * from T1 where x in ( select y from T2 )
Ö´ÐеĹý³ÌÏ൱ÓÚ:
select *
  from t1, ( select distinct y from t2 ) t2
 where t1.x = t2.y;
select * from t1 where exists ( select null from t2 where y = x )
Ö´ÐеĹý³ÌÏ൱ÓÚ:
for x in ( select * from t1 )
   loop
      if ( exists ( select null from t2 where y = x.x )
      then
         OUTPUT THE RECORD
      end if
end loop
´ÓÎҵĽǶÈÀ´Ëµ£¬inµÄ·½Ê½±È½ÏÖ±¹Û£¬existsÔòÓÐÐ©ÈÆ£¬¶øÇÒin¿ÉÒÔÓÃÓÚ¸÷ÖÖ×Ó²éѯ£¬¶øexistsºÃÏñÖ»ÓÃÓÚ¹ØÁª×Ó²éѯ£¨ÆäËû×Ó²éѯµ±È»Ò²¿ÉÒÔÓ㬿ÉϧûÒâÒ壩¡£
ÓÉÓÚexistsÊÇÓÃloopµÄ·½Ê½£¬ËùÒÔ£¬Ñ­»·µÄ´ÎÊý¶ÔÓÚexistsÓ°Ïì×î´ó£¬ËùÒÔ£¬Íâ±íÒª¼Ç¼ÊýÉÙ£¬ÄÚ±í¾ÍÎÞËùνÁË£¬¶øinÓõÄÊÇhash join£¬ËùÒÔÄÚ±íÈç¹ûС£¬Õû¸ö²éѯµÄ·¶Î§¶¼»áºÜС£¬Èç¹ûÄÚ±íºÜ´ó£¬Íâ±íÈç¹ûÒ²ºÜ´ó¾ÍºÜÂýÁË£¬Õâʱºòexists²ÅÕæÕýµÄ»á¿ì¹ýinµÄ·½Ê½¡£
         ÏÂÃæÕâ¶Î»¹Êdz­µÄ
not in ºÍnot exists
Èç¹û²éѯÓï¾äʹÓÃÁËnot in ÄÇôÄÚÍâ±í¶¼½øÐÐÈ«±íɨÃ裬ûÓÐÓõ½Ë÷Òý£»
¶ønot extsts µÄ×Ó²éѯÒÀÈ»ÄÜÓõ½±íÉϵÄË÷Òý¡£
ËùÒÔÎÞÂÛÄǸö±í´ó£¬ÓÃnot exists¶¼±Ènot inÒª¿ì¡£
          Ò²¾ÍÊÇ˵£¬inºÍexistsÐèÒª¾ßÌåÇé¿ö¾ßÌå·ÖÎö£¬not inºÍnot exists¾Í²»Ó÷ÖÎöÁË£¬¾¡Á¿ÓÃnot exists¾ÍºÃÁË¡£
ÏÂÓÐÒ»¸ö±í-µçÊÓ¾ç  
  TvPlay(title,   year,   studioname,   ÄÐÖ÷½Ç,   Å®Ö÷½Ç)£¬  
   
  ²éѯ³ö±»Öظ´ÅÄÉã1´ÎÒÔÉϵĵçÊÓ¾çÃû£¬(ÈçÉäµñ£¬ÒÐÌìÍÀÁú)  
  select   title  
  from   TvPlay   tp  
  where   year   >  
            (select   year  
              from &nbs


Ïà¹ØÎĵµ£º

Oracle 10g ÕýÔò±í´ïʽ


ORACLEÖÕÓÚÔÚ10GÖÐÌṩÁ˶ÔÕýÔò±í´ïʽµÄÖ§³Ö£¬ÒÔǰÄÇЩÐèҪͨ¹ýLIKEÀ´½øÐеĸ´Ôӵį¥Åä¾Í¿ÉÒÔͨ¹ýʹÓÃÕýÔò±í´ïʽ¸ü¼òµ¥µÄʵÏÖ¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ Öظ´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³ÉµÄ×Ö·û´®µÈÎÊÌâ¡£
Oracle 10gÖ§³ÖÕýÔò±í´ïʽµÄË ......

ORACLE 9i ͳ¼Æ±í

 Õ⼸Ìì×öÏîÄ¿Óöµ½ÁËǧÍò¼¶±íµÄ´¦Àí£¬Ïà¹ØÓÅ»¯µÄÐĵÃÌØ¼Ç¼ÏÂÀ´£¬ÒÔǰÈÕºó²é¿´¡£
ÊÕ¼¯Í³¼Æ±íÐÅÏ¢ÓÐ2ÖÖ·½·¨£º
1: ANALYZE TABLE employees COMPUTE STATISTICS;
 
2: exec dbms_stats.gather_table_stats(ownname => 'owner_name',tabname => 'table_name' ,estimate_percent => null ,method_o ......

oracle ÖеÄminus

 minusÔËËã
·µ»ØÔÚµÚÒ»¸ö²éѯ½á¹ûÖÐÓëµÚ¶þ¸ö²éѯ½á¹û²»ÏàͬµÄÄDz¿·ÖÐмǼ¡£
ÓÐÄÄЩ¹¤ÖÖÔڲƻᲿÖÐÓУ¬¶øÔÚÏúÊÛ²¿ÖÐûÓУ¿
exp:selectjobfromaccount
minus
selectjobfromsales;
ÓëunionÏà·´ ......

Oracle SQLÓï¾ä

ORDER BY ÅÅÐò
 
ASC ÉýÐò(ĬÈÏ)
 DESC ½µÐò
 
select * from s_emp order by dept_id , salary desc
²¿ÃźÅÉýÐò£¬¹¤×ʽµÐò
¹Ø¼ü×ÖdistinctÒ²»á´¥·¢ÅÅÐò²Ù×÷¡£
 
select * from employee order by 1; //°´µÚÒ»×Ö¶ÎÅÅÐò
NULL±»ÈÏΪÎÞÇî´ó¡£order by ¿ÉÒÔ¸ú±ðÃû¡£
 
select table_name ......

oracleÊ÷½á¹¹²éѯ

 
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
 
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±í ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ