Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

±È½Ï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(


Ïà¹ØÎĵµ£º

ÉîÈëÁ˽â Oracle 10g ÖÐÐÂÐͲã´Î²éѯѡÏî

     ÎÒÃÇ¿ÉÒÔͨ¹ýSTART WITH . . . CONNECT BY . . .×Ó¾äÀ´ÊµÏÖSQLµÄ ²ã´Î²éѯ£¬¶øOracle 10g ΪÆäÌí¼ÓÐí¶àÁËеÄαÁС£Ê®¶àÄêÒÔÀ´£¬Oracle SQL ¾ßÓÐÒÀÕÕ²ã´Î¹ØÏµ½øÐвéѯµÄ¹¦ÄÜ¡£ÀýÈ磬Äã¿ÉÒÔÖ¸¶¨Ò»¸öÆðʼÌõ¼þ£¬È»ºó¸ù¾ÝÒ»¸ö»ò¶à¸öÁ¬½ÓÌõ¼þÀ´È·¶¨º¢×ÓÐеÄÄÚÈÝ¡£¾ÙÀýÀ´Ëµ£¬ÏÖÔÚ¼ÙÉèÎÒÓÐÒ»¸ö±í£¬ÀïÃæ¼Ç ......

OracleÍⲿÉí·ÝÈÏÖ¤Ñо¿

OracleÍⲿÉí·ÝÈÏÖ¤Ñо¿
ÃÜÂëÎļþÈÏÖ¤          ²Ù×÷ϵͳÈÏÖ¤                  remote_login_passwordfile   SQLNET.AUTHENTICATION_SERVICES   &nb ......

OracleÊý¾Ýµ¼Èëµ¼³öimp/exp

OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹Ô­Ó뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
    Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ ......

Oracle Êý¾ÝÀàÐͼ°´æ´¢·½Ê½

Oracle Êý¾ÝÀàÐͼ°´æ´¢·½Ê½
      Ô¬¹â¶« Ô­´´
      ¸ÅÊö
      ͨ¹ýʵÀý£¬È«Ãæ¶øÉîÈëµÄ·ÖÎöoralceµÄ»ù±¾Êý¾ÝÀàÐͼ°ËüÃǵĴ洢·½Ê½¡£ÒÔORACLE 10GΪ»ù´¡£¬½éÉÜoralce
      10gÒýÈëµÄеÄÊý¾ÝÀàÐÍ¡£ÈÃÄã¶Ôor ......

OracleÖеÄÊý×é

2010-04-21 14:04
oracleÖй¹ÔìÊý×éµÄÀý×Ó£º
declare
type t_varray is varray(4) of number;
arr t_varray;
begin
arr := t_varray(1,2,3,4);
for i in 1..arr.count loop
    dbms_output.put_line(arr(i));
end loop;
end;
    ¹¹Ôì¶þάÊý×éµÄÀý×Ó£º
declare
type t_varray ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ