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
Ïà¹ØÎĵµ£º
Õ⼸Ìì×öÏîÄ¿Óöµ½ÁËǧÍò¼¶±íµÄ´¦Àí£¬Ïà¹ØÓÅ»¯µÄÐĵÃÌØ¼Ç¼ÏÂÀ´£¬ÒÔǰÈÕºó²é¿´¡£
ÊÕ¼¯Í³¼Æ±íÐÅÏ¢ÓÐ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 ......
minusÔËËã
·µ»ØÔÚµÚÒ»¸ö²éѯ½á¹ûÖÐÓëµÚ¶þ¸ö²éѯ½á¹û²»ÏàͬµÄÄDz¿·ÖÐмǼ¡£
ÓÐÄÄЩ¹¤ÖÖÔڲƻᲿÖÐÓУ¬¶øÔÚÏúÊÛ²¿ÖÐûÓУ¿
exp:selectjobfromaccount
minus
selectjobfromsales;
ÓëunionÏà·´ ......
pl/sql ÌṩÁËÇ¿´ó¶øÁé»îµÄÊÖ¶ÎÀ´²¶×½ºÍ´¦Àí³ÌÐò²úÉúµÄÒì³££¬´Ó¶øÊ¹ oracle µÄÓû§Ô¶ÀëһЩÁîÈË·³ÄÕµÄ bug ¡£
pl/sql Òì³£´¦ÀíµÄ¸ÅÄîºÍÊõÓï
ÔÚ oracle ÖÐËùÓеĴíÎó¶¼±»ÈÏΪÊDz»Ó¦¸Ã·¢ÉúµÄÒì³£¡£Ò»¸öÒì³£¿ÉÄÜÊÇÒÔÏ 3 ÖÖÇé¿öµÄÒ»ÖÖ£º
u ÓÉϵͳ²úÉúµÄ´íÎó£¨& ......
¾ÍÊÇÓÉÆÕͨ×Ö·û£¨ÀýÈç×Ö·ûaµ½z£©ÒÔ¼°ÌØÊâ×Ö·û£¨³ÆÎªÔª×Ö·û£©×é³ÉµÄÎÄ×Öģʽ¡£¸ÃģʽÃèÊöÔÚ²éÕÒÎÄ×ÖÖ÷Ìåʱ´ýÆ¥ÅäµÄÒ»¸ö»ò¶à¸ö×Ö·û´®¡£ÕýÔò±í´ïʽ×÷Ϊһ¸öÄ£°å£¬½«Ä³¸ö×Ö·ûģʽÓëËùËÑË÷µÄ×Ö·û´®½øÐÐÆ¥Åä¡£
±¾ÎÄÏêϸµØÁгöÁËÄÜÔÚÕýÔò±í´ïʽÖÐʹÓã¬ÒÔÆ¥ÅäÎı¾µÄ¸÷ÖÖ×Ö·û¡£µ±ÄãÐèÒª½âÊÍÒ»¸öÏÖÓеÄÕýÔò±í´ïʽʱ£¬¿ÉÒÔ×÷Ϊһ¸ö¿ ......
ÏÈÀ´¿´¿´¹Ù·½ÎĵµÖжÔÕâ¸ö²ÎÊýµÄ½âÊÍ
CURSOR_SHARING
PropertyDescription
Parameter type
String
Syntax
CURSOR_SHARING = { SIMILAR | EXACT | FORCE }
Default value
EXACT
Modifiable
ALTER SESSION, ALTER SYSTEM
Basic
No
CURSOR_SHARING determines what kind of SQL statements can share the same cu ......