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  
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´Ð ......
ÔÚOracleÖв鿴ËùÓеıí:
select * from tab/dba_tables/dba_objects/cat;
¿´Óû§½¨Á¢µÄ±í :
select table_name from user_tables; //µ±Ç°Óû§µÄ±í
select table_name from all_tables; //ËùÓÐÓû§µÄ±í   ......
Êý¾Ý×Öµä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 ......
OracleÊý¾Ý¿âÓαêʹÓ÷½·¨
2009-12-30 15:27
SQLÊÇÓÃÓÚ·ÃÎÊOracleÊý¾Ý¿âµÄÓïÑÔ£¬PL/SQLÀ©Õ¹ºÍ¼ÓÇ¿ÁËSQLµÄ¹¦ÄÜ£¬ËüͬʱÒýÈëÁ˸üÇ¿µÄ³ÌÐòÂß¼, ÏÂÃæÔÚ±¾ÎÄÖн«¶ÔÓαêµÄʹÓýøÐÐһϽ²½â,Ï£Íû¿ÉÒԺʹó¼Ò¹²Í¬Ñ§Ï°½ø²½¡£
¡¡¡¡Óαê×ÖÃæÀí½â¾ÍÊÇÓζ¯µÄ¹â±ê¡£ÓαêÊÇSQLµÄÒ»¸öÄڴ湤×÷Çø£¬ÓÉϵͳ»òÓû§ÒÔ±äÁ¿µÄÐÎ ......