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ÖÐÌṩÁ˶ÔÕýÔò±í´ïʽµÄÖ§³Ö£¬ÒÔǰÄÇЩÐèҪͨ¹ýLIKEÀ´½øÐеĸ´Ôӵį¥Åä¾Í¿ÉÒÔͨ¹ýʹÓÃÕýÔò±í´ïʽ¸ü¼òµ¥µÄʵÏÖ¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ ÖØ¸´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³ÉµÄ×Ö·û´®µÈÎÊÌâ¡£
Oracle 10gÖ§³ÖÕýÔò±í´ïʽµÄË ......
ǰ¼¸¸öÏîÄ¿×Ô¼ºÃ»ÓÐд¹ý½Ó¿Ú£¬¶¼ÊǸºÔðǰ̨µÄ¿ØÖÆ¡£À´µ½Õâ¸öÏîÄ¿ÉÏ£¬²Å¿ªÊ¼×Ô¼ºÐ´£¬ÎÒÊÇ6ÔÂÖÐÑ®¿ªÊ¼×öÕâ¸öÏîÄ¿µÄ£¬ÏÖÔÚ11Ô·ݣ¬ÏÖÔÚÔÚÈ¥¿´6Ô·ÝдµÄpackage,¼òÖ±ÓеãÏëÍÂÁË¡£ÔÒòÓÐÒÔϼ¸µã£º
1. ¼ò½à£¬¶óÒªµÄ˵Ã÷ûÓи½¼Ó¡£
2. n¶à¹¦ÄÜ×ۺϵ½Ò»Æð£¬È«²¿·Åµ½Ò»¸ö°üÀ¶ø²»ÊǸù¾Ý¹¦ÄÜÄ£¿é»®·Ö¡£
3. ûÓÐÀýÍâ¿ØÖÆ¡£ ......
Õ⼸Ìì×öÏîÄ¿Óöµ½ÁËǧÍò¼¶±íµÄ´¦Àí£¬Ïà¹ØÓÅ»¯µÄÐĵÃÌØ¼Ç¼ÏÂÀ´£¬ÒÔǰÈÕºó²é¿´¡£
ÊÕ¼¯Í³¼Æ±íÐÅÏ¢ÓÐ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 ......
1. ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH ......
As you may know, Oracle dropped support for Borland Compilers in OCI
some time back. Well, it isn't all that hard to set up again.
I'm running 9i Release 2 Enterprise Edition on this PC at work and I am
using Borland C++ Builder 6 to 'play' with OCI programming - I intend to
build a set of compo ......