±È½ÏOracle SQLÖеÄIN & EXISTS
ÔÚOracle SQLÖÐÈ¡Êý¾ÝʱÓÐʱҪÓõ½in ºÍ exists ÄÇôËûÃÇÓÐÊ²Ã´Çø±ðÄØ£¿
1 ÐÔÄÜÉϵıȽÏ
±ÈÈç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
±í T1 ²»¿É±ÜÃâµÄÒª±»ÍêȫɨÃèÒ»±é
·Ö±ðÊÊÓÃÔÚʲôÇé¿ö?
ÒÔ×Ó²éѯ ( select y from T2 )Ϊ¿¼ÂÇ·½Ïò
Èç¹û×Ó²éѯµÄ½á¹û¼¯ºÜ´óÐèÒªÏûºÄºÜ¶àʱ¼ä£¬µ«ÊÇT1±È½ÏСִÐÐ( select null from t2 where y = x.x )·Ç³£¿ì£¬ÄÇôexists¾Í±È½ÏÊʺÏÓÃÔÚÕâÀï
Ïà¶ÔÓ¦µÃ×Ó²éѯµÄ½á¹û¼¯±È½ÏСµÄʱºò¾ÍÓ¦¸ÃʹÓÃin.
2 º¬ÒåÉϵıȽÏ
ÔÚ±ê×¼µÄscott/tigerÓû§ÏÂ
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
7499
ALLEN
SALESMAN
7698
1981/02/20
1600.00
300.00
30
2
7521
WARD
SALESMAN
7698
1981/02/22
1250.00
500.00
30
3
7566
JONES
MANAGER
7839
1981/04/02
2975.00
20
4
7654
MARTIN
SALESMAN
7698
1981/09/28
1250.00
1400.00
30
5
7698
BLAKE
MANAGER
7839
1981/05/01
2850.00
30
6
7782
CLARK
MANAGER
7839
1981/06/09
2450.00
10
7
7788
SCOTT
ANALYST
7566
1987/04/19
3000.00
20
8
7839
KING
PRESIDENT
¡¡
1981/11/17
5000.00
10
9
7844
TURNER
SALESMAN
7698
1981/09/08
1500.00
0.00
30
10
7876
ADAMS
CLERK
7788
1987/05/23
1100.00
20
11
7900
JAMES
CLERK
7698
1981/12/03
950.00
30
12
7902
FORD
ANALYST
7566
1981/12/03
3000.00
20
13
7934
MILLER
CLERK
7782
1982/01/23
1300.00
¡¡
10
Ö´ÐÐ
SQL> select count(*) from emp where empno not in ( select mgr from emp );
COUNT(
Ïà¹ØÎĵµ£º
truncate,delete,dropµÄÒìͬµã
×¢Òâ:ÕâÀï˵µÄdeleteÊÇÖ¸²»´øwhere×Ó¾äµÄdeleteÓï¾ä
Ïàͬµã:truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain),´¥·¢Æ÷(trigger),Ë÷Òý(index); ÒÀÀµÓÚ¸Ã±íµ ......
ͨ¹ý select * from table whereid=16701 for update Ëø×¡Ò»Õűí
ͨ¹ýÒÔÏÂÓï¾ä¿É²éѯ³ö±»Ëø×¡µÄ¶ÔÏó
SELECT OBJECT_ID,
SESSION_ID,
SERIAL#,
ORACLE_USERNAME,
&nb ......
ÓÉÓÚ֮ǰѧϰoracleµÄʱºò±È½ÏËæÒ⣬¿´ÊéÒ²ÊDZȽÏÉÙÈ¥ÉîÈë˼¿¼ÔÀí£¬¶ø´Óǰ¼¸Ìì¾ö¶¨ÒªÖØÐÂȼÆðoracleµÄѧϰ¼¤Çéºó£¬ÎÒÓÖÖØÐµĴӻù´¡Ñ§Æð£¬´ËʱÎÒѧoracleµÄÐÄ̬Ҳ±ÈÒÔǰºÃºÜ¶àÁË£¬ÏÖÔÚÊÇŬÁ¦µÄÒ»µãÒ»µãÈ¥¿ÐÁË£¬¼´Ê¹ºÜ»¨Ê±¼ä£¬µ«ÎÒÏëÕýÊÇͨ¹ý½ñÌìÎÒÕâÑùµÄÂñÍ·¿à¶Á²Å»á»»À´Óг¯Ò»ÈÕÔÚoracle·½ÃæµÄÖʵķÉÔ¾µÄ¡£
  ......
ORACLEʵÀýÓÐϵͳȫ¾ÖÇø£¨SGA£©ºÍһЩºǫ́½ø³Ì×é³É.
ϵͳȫ¾ÖÇø£¨SGA£©Óй²Ïí³Ø£¨shared pool£©,Êý¾Ý¿â¸ßËÙ»º³åÇø£¨database buffer cache£©,ÖØ×öÈÕÖ¾»º³åÇø£¨redo log buffer£©.¹²Ïí³ØÓÖÓпâ¸ßËÙ»º´æ£¨library cache£©ºÍÊý¾Ý×Öµä¸ßËÙ»º´æ£¨dictionary cache£©×é³É¡£
ORACLE ʵÀý5¸ö±ØÐèµÄºǫ́½ø³Ì£ºSMON,PMON,DBWR,LGWR, ......
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y
CITY VARCHAR2(20) Y
SQL> select * from test;
COUNTRY CITY
-------------------- --------------------
Öйú ̨±±
Öйú Ïã ......