Oracle×Ó²éѯ
×Ó²éѯ
µ¥ÐÐ×Ó²éѯ(single-row subqueries)
ʹÓõÄÔËËã·ûºÅ(=,>,<,>=,<=,<>)
¶àÐÐ×Ó²éѯ(multiple-row subqueries)
ʹÓõÄÔËËã·ûºÅ(in,not in,exists,not exits,all,any)
Ïà¹Ø×Ó²éѯ(correlated subqueries)
¸ñʽ select ÁÐÃû,(select Óï¾ä) from ±íÃû
±êÁ¿×Ó²éѯ(scalar subqueries)
×Ó²éѯÊÇ·µ»Øµ¥Ðе¥ÁÐ,¸ñʽͬÉÏ
¶àÁÐ×Ó²éѯ(multiple-column subqueries)
ÔÚDDLÓï¾äÖÐʹÓÃ×Ó²éѯ
ÔÚDMLÓï¾äÖÐʹÓÃ×Ó²éѯ
--------
µ¥ÐÐ×Ó²éѯ
--ÏÔʾ¹¤×Ê×î¸ßµÄ¹ÍÔ±ÐÅÏ¢
Select ename,deptno,sal from emp
Where sal=(select max(sal) from emp);
--------
¶àÐÐ×Ó²éѯ
--ÏÔʾÓ벿ÃűàºÅΪ20µÄ¸ÚλÏàͬµÄ¹ÍÔ±ÐÅÏ¢
Select ename,deptno,sal,job from emp
Where job in (select distinct job from emp where deptno=20);
--ÏÔʾ²»Ó벿ÃűàºÅΪ20µÄ¸ÚλÏàͬµÄ¹ÍÔ±ÐÅÏ¢
Select ename,deptno,sal,job from emp where job not in (select distinct job from emp where deptno=20);
--ÏÔʾ¸ßÓÚ²¿ÃűàºÅΪ20µÄËùÓйÍÔ±µÄ¹¤×ʵĹÍÔ±ÐÅÏ¢
select ename,deptno,sal ,job from emp
where sal>all(select sal from emp where deptno=20);
--ÏÔʾ¸ßÓÚ²¿ÃűàºÅΪ20µÄÈκιÍÔ±µÄ¹¤×ʵĹÍÔ±ÐÅÏ¢
select ename,deptno,sal ,job from emp
where sal>any(select sal from emp where deptno=20);
---------
Ïà¹Ø×Ó²éѯ
--ÏÔʾÿ¸ö²¿ÃŵÄ×î¸ß¹¤×ʵĹÍÔ±ÐÅÏ¢
select deptno,(select max(sal) from emp b where b.deptno=a.deptno) maxsal
from emp a order by deptno;
--Ôö¼Ódistinct
select distinct deptno,(select max(sal) from emp b where b.deptno=a.deptno) maxsal
from emp a order by deptno;
--ÏÔʾ¹¤×÷ÔÚNEW YORKµÄ¹ÍÔ±ÐÅÏ¢
select ename,deptno,sal,job from emp
where exists (select 'x' from dept where dept.deptno=emp.deptno and dept.loc='NEW YORK');
---------
±êÁ¿×Ó²éѯ
--·µ»Øµ¥Ðе¥ÁÐ
Select count(*) from emp;
Select sum(sal)
Ïà¹ØÎĵµ£º
Oracle 10gÖеÄEM²ÉÓÃWebµÄÐÎʽÀ´¹ÜÀíÊý¾Ý¿â¼°Ïà¹Ø·þÎñ£¬µ«Ê¹Óùý³ÌÖлáÅöµ½Ò»Ð©¸úEMÓйصÄÎÊÌ⣬¸ù¾ÝͬÐеÄÌáʾ¼°±ÊÕßµÄʵ¼Ê¾Ñ飬½øÐÐÁËһЩ¹éÄÉ£¬Ï£Íû¶ÔÏà¹Ø°®ºÃÕßÓÐËù°ïÖú£º
£¨1£©Êý¾Ý¿â¿ØÖÆÌ¨Æô¶¯ºó£¬¿´µ½1£©Êý¾Ý¿âʵÀýÎÞÐÅÏ¢2£©¼àÌý³ÌÐòΪ״̬Ϊ²»¿ÉÓÃ3£©µ½ÊµÀýµÄ´úÀíÁ¬½Ó״̬Ϊ²»¿ÉÓá£
ÎÊÌâ·ÖÎö£º
´Ëʱ·þÎñ¸ÕÆô ......
¾³£ÓÐDBAÅóÓÑÃÇÏòÎÒ×Éѯ£¬Èç¹û´òËã½øÈëDBAÕâÒ»ÐУ¬Ó¦¸ÃÔõÑùÈëÃÅ£¬»òÕß¿ÉÒÔͨ¹ýÔõÑùÒ»¸ö·ÏßͼÀ´½øÐÐѧϰ¡£
¹ØÓÚÕâ¸öÖ÷Ì⣬ÆäÊµÍøÂçÉÏÒѾÓÐÁËһЩÄÚÈÝ¿ÉÒԲο¼¡£µ«ÊǼÈÈ»Õâô¶àÅóÓÑÎÊÌ⣬ÎҾͽ«Ö®Ç°Ð´ºÃµÄÒ»µãÄÚÈÝ·¢±í³öÀ´¡£
ËãÊǶԴó¼ÒµÄÒ»¸ö»Ø´ð£¬Èç¹ûÄܹ»ÓÐËù½è¼øÄÇÊÇ×îºÃµÄ¡£
ÎÒµÄÕâ·Ý·Ïßͼ£¬Êǰ´ÕÕÎÒд×÷µÄÁ½±¾Êé ......
Oracle´¥·¢Æ÷Óï·¨(Ò»)
Ò» Oracle´¥·¢Æ÷Óï·¨
´¥·¢Æ÷ÊÇÌØ¶¨Ê¼þ³öÏÖµÄʱºò£¬×Ô¶¯Ö´ÐеĴúÂë¿é¡£ÀàËÆÓÚ´æ´¢¹ý³Ì£¬´¥·¢Æ÷Óë´æ´¢¹ý³ÌµÄÇø±ðÔÚÓÚ:´æ´¢¹ý³ÌÊÇÓÉÓû§»òÓ¦ÓóÌÐòÏÔʽµ÷ÓõÄ,¶ø´¥·¢Æ÷ÊDz»Äܱ»Ö±½Óµ÷Óõġ£
¹¦ÄÜ£º
1¡¢ ÔÊÐí/ÏÞÖÆ¶Ô±íµÄÐÞ¸Ä
2¡¢ ×Ô¶¯Éú³ÉÅÉÉúÁУ¬±ÈÈç×ÔÔö×Ö¶Î
3¡¢ Ç¿ÖÆÊý¾ÝÒ»ÖÂÐÔ
4¡¢ ÌṩÉó¼Æº ......
º¯Êý:
×Ö·ûº¯Êý
ת»¯³ÉСдLOWER(<C>) ת»¯³É´óдUPPER(<C>) select lower('aAbBcC') from dual;
--------
ÈÕÆÚº¯Êý
add_months(D,<I>)·µ»ØÈÕÆÚD¼ÓÉÏi¸öÔºóµÄ½á¹û
select add_month(sysdate,3)from dual;
&nb ......