ORACLE ÖÐINºÍEXISTSµÄÇø±ð
ÔÎĵØÖ·£ºhttp://www.cnblogs.com/yf520gn/archive/2009/01/12/1374359.html
EXISTSµÄÖ´ÐÐÁ÷³Ì
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¡£
ÆäʵÎÒÃÇÇø·ÖinºÍexistsÖ÷ÒªÊÇÔì³ÉÁËÇý¶¯Ë³ÐòµÄ¸Ä±ä£¨ÕâÊÇÐÔÄܱ仯µÄ¹Ø¼ü£©£¬Èç¹ûÊÇexists£¬ÄÇôÒÔÍâ²ã±íΪÇý¶¯±í£¬Ïȱ»·ÃÎÊ£¬Èç¹ûÊÇIN£¬ÄÇôÏÈÖ´ÐÐ×Ó²éѯ£¬ËùÒÔÎÒÃÇ»áÒÔÇý¶¯±íµÄ¿ìËÙ·µ»ØÎªÄ¿±ê£¬ÄÇô¾Í»á¿¼Âǵ½Ë÷Òý¼°½á¹û¼¯µÄ¹ØÏµÁË
ÁíÍâINʱ²»¶ÔNULL½øÐд¦Àí
È磺
select 1 from dual where null in (0,1,2,null)
Ϊ¿Õ
2.NOT IN ÓëNOT EXISTS:
NOT EXISTSµÄÖ´ÐÐÁ÷³Ì
select .....
from rollup R
where not exists ( select 'Found' from title T
where R.source_id = T.Title_ID);
¿ÉÒÔÀí½âΪ:
for x in ( select * from rollup )
loop
if ( not exists ( that query ) ) then
OUTPUT
end if;
end;
×¢Òâ:NOT EXISTS Óë NOT IN ²»ÄÜÍêÈ«»¥ÏàÌæ»»£¬¿´¾ßÌåµÄÐèÇó¡£Èç¹ûÑ¡ÔñµÄÁпÉÒÔΪ¿Õ£¬Ôò²»Äܱ»Ìæ»»¡£
ÀýÈçÏÂÃæÓï¾ä£¬¿´ËûÃǵÄÇø±ð£º
select x,y from t;
x y
------ ------
1 3
3 1
1 2
1  
Ïà¹ØÎĵµ£º
centos 4.5ϰ²×°oracle 9204
Linux localhost.localdomain 2.6.9-55.ELsmp
Ò»£¬½âѹËõOracle9204µÄ°²×°Îļþ
1£® Oracle 9iR2 (9.2.0.4)
(1) ¼ò»¯¹ý³Ì£¨ÒÔoracleµÇ¼£¬ÊͷŰ²×°Îļþ,ʹÓøüÉٵĴÅÅ̿ռ䣬Ëٶȸü¿ì£©
ÔÚ°²×°LINUXʱ×îºÃ·ÖÒ»¸öÇø/orasetup,ÕâÑùÒ»À´¼´Ê¹ÏµÍ³»µÁË,Ò²Ö»ÊÇÖØ×°ÏµÍ³,¶øÎÞÐëÖØÐ ......
DECODEº¯ÊýµÄ×÷ÓãºËü¿ÉÒÔ½«ÊäÈëÊýÖµÓ뺯ÊýÖеIJÎÊýÁбíÏà±È½Ï£¬¸ù¾ÝÊäÈëÖµ·µ»ØÒ»¸ö¶ÔÓ¦Öµ¡£º¯ÊýµÄ²ÎÊýÁбíÊÇÓÉÈô¸ÉÊýÖµ¼°Æä¶ÔÓ¦½á¹ûÖµ×é³ÉµÄÈô¸ÉÐòżÐÎʽ¡£µ±È»£¬Èç¹ûδÄÜÓëÈκÎÒ»¸öʵ²ÎÐòżƥÅä³É¹¦£¬Ôòº¯ÊýÒ²ÓÐĬÈϵķµ»ØÖµ¡£
¡¡¡¡Çø±ðÓÚSQLµÄÆäËüº¯Êý£¬DECODEº¯Êý»¹ÄÜʶ±ðºÍ²Ù×÷¿ÕÖµ¡£
¡¡¡¡Óï·¨ÈçÏ£º
¡¡¡¡DECODE ......
1¡¢À䱸·Ý±ØÐ뽫Êý¾Ý¿â·þÎñÆ÷Í£Ö¹£¬²»È»»Ö¸´µÄʱºòÎÞ·¨»Ö¸´
Í£Ö¹·þÎñÆ÷µÄÃüÁ
ÔÚsqlplusϵǽsqlplus£ºsqlplus "/as sysdba"
Í£Ö¹oracle·þÎñ£º shutdown immediate;£¨´ËÃüÁîµÈ´ýÊÂÎñÖ´ÐÐÍê±ÏºóÔٹرգ©
ÊÇÔÚ²»ÐÐÖ±½ÓÇ¿ÐÐÖÕÖ¹:shutdown abort;£¨´ËÃüÁîÖ±½Ó¹Ø±ÕʵÀý·þÎñ£©
¹Ø±Õlistener£º
linuxÃüÁlsnrctl
È»ºóÍ ......
extent--×îС¿Õ¼ä·ÖÅ䵥λ --tablespace management
block --×îСi/oµ¥Î» --segment management
create tablespace james
datafile '/export/home/oracle/oradata/james.dbf'
size 100M ¡¡¡¡¡¡¡¡¡¡¡¡--³õʼµÄÎļþ´óС¡¡
autoextend On¡¡¡¡¡¡¡¡ --×Ô¶¯Ôö³¤
next 10M¡ ......
OracleÊý¾Ý¿âÓαêʹÓ÷½·¨
2009-12-30 15:27
SQLÊÇÓÃÓÚ·ÃÎÊOracleÊý¾Ý¿âµÄÓïÑÔ£¬PL/SQLÀ©Õ¹ºÍ¼ÓÇ¿ÁËSQLµÄ¹¦ÄÜ£¬ËüͬʱÒýÈëÁ˸üÇ¿µÄ³ÌÐòÂß¼, ÏÂÃæÔÚ±¾ÎÄÖн«¶ÔÓαêµÄʹÓýøÐÐһϽ²½â,Ï£Íû¿ÉÒԺʹó¼Ò¹²Í¬Ñ§Ï°½ø²½¡£
¡¡¡¡Óαê×ÖÃæÀí½â¾ÍÊÇÓζ¯µÄ¹â±ê¡£ÓαêÊÇSQLµÄÒ»¸öÄڴ湤×÷Çø£¬ÓÉϵͳ»òÓû§ÒÔ±äÁ¿µÄÐÎ ......