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±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
select myFunc(²ÎÊý1,²ÎÊý2..) to dual; --¿ÉÒÔÖ´ÐÐһЩҵÎñÂß¼
Ò»:OracleÖеĺ¯ÊýÓë´æ´¢¹ý³ÌµÄÇø±ð:
A:º¯Êý±ØÐëÓзµ»ØÖµ,¶ø¹ý³ÌûÓÐ.
B:º¯Êý¿ÉÒÔµ¥¶ÀÖ´ÐÐ.¶ø¹ý³Ì±ØÐëͨ¹ýexecuteÖ´ÐÐ.
C:º¯Êý¿ÉÒÔǶÈëµ½SQLÓï¾äÖÐÖ´ÐÐ.¶ø¹ý³Ì²»ÐÐ.
ÆäʵÎÒÃÇ¿ÉÒÔ½«±È½Ï¸´ÔӵIJéѯд³Éº¯Êý.È»ºóµ½´æ´¢¹ý³ÌÖÐÈ¥µ÷ÓÃÕâЩº¯Êý.
¶þ:È ......
emctl start dbconsole ÊÇ10gµÄÆô¶¯console·þÎñµÄÃüÁî
½«OEM·þÎñÍ£Ö¹emctl stop dbconsole
emctl start dbconsoleÆô¶¯EM console·þÎñ£¬Ê¹ÓÃÇ°ÐèÒªÏÈÉèÖÃORACLE_SID»·¾³±äÁ¿
emctl stop dbconsoleÍ£Ö¹EM console·þÎñ£¬Ê¹ÓÃÇ°ÐèÒªÏÈÉèÖÃORACLE_SID»·¾³±äÁ¿
¹Ø±ÕÊý¾Ý¿âºóÓ¦¸ÃÊ×ÏÈÓÃsysdbaµÇ½,ÕâÑù¾Í½øÈëÁËsysģʽ. ......
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;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±í ......