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  
Ïà¹ØÎĵµ£º
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
¶Ôºú²®ÁֵIJɷÃÈçÆÚÔÚλÓÚ±±¾©¹úóµÄOracleÖйú×ܲ¿½øÐУ¬µ±¼ÇÕß°Ñ×¼±¸ºÃµÄ²É·ÃÌá¸ÙµÝ¸øºú²®ÁÖÖ⣬ÒÔΪËû»áÏñÐí¶àÊÜ·ÃÕßÒ»ÑùÌÏÌϲ»¾øÆðÀ´£¬ËÖªËûÖ»ÊÇ¿´ÁËÒ»ÑÛ˵£º“»¹ÊÇÒ»ÆðÌÖÂÛ°É£¬Îҿɲ»Ô¸³ª¶À½ÇÏ·¡£”
¡¡¡¡ÔÚOracleÖйú£¬ºú²®ÁÖÊÇÒ»¸öÇÅÁº£¬Ò»¸öÓë×ܲ¿ÓëÖйúÔ±¹¤Ö®¼ä¹µÍ¨µÄÇÅÁº£¬Ò»¸öÕ½ÂÔÖÆ¶¨ÓëÖ´ÐÐÖ®¼äµÄÇÅ ......
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,ÕâÑùÒ»À´¼´Ê¹ÏµÍ³»µÁË,Ò²Ö»ÊÇÖØ×°ÏµÍ³,¶øÎÞÐëÖØÐ ......
select dm_id, father_id, dm_name from gy_dmcode t
where level <= 2 --²ã¼¶
start with t.dm_id = '0' --¸ù½Úµã
connect by prior t.dm_id = t.father_id; --¶¨Òå¹ØÏµ£¬prior ±íʾÓÅÏȼ¶ ......
Êý¾Ý×Öµädict×ÜÊÇÊôÓÚOracleÓû§sysµÄ¡£
1¡¢Óû§£º
¡¡select username from dba_users;
¸Ä¿ÚÁî
¡¡alter user spgroup identified by spgtest;
2¡¢±í¿Õ¼ä£º
¡¡select * from dba_data_files;
¡¡select * from dba_tablespaces;//±í¿Õ¼ä
¡¡select tablespace_name,sum(bytes), sum(blocks)
from dba_free_s ......