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)
Ïà¹ØÎĵµ£º
Ò»¸öÔµĵÚÒ»Ìì
´úÂë (Ë«»÷´úÂë¸´ÖÆµ½Õ³Ìù°å)
SELECT to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd')
from dual
sysdate ΪÊý¾Ý¿â·þÎñÆ÷µÄµ±Ç°ÏµÍ³Ê±¼ä¡£
to_char Êǽ«ÈÕÆÚÐÍתΪ×Ö·ûÐ͵ĺ¯Êý¡£
to_date Êǽ«×Ö·ûÐÍתΪÈÕÆÚÐ͵ĺ¯Êý£¬Ò»°ãʹÓà yyyy-mm-dd hh24:mi:ss¸ñʽ£¬µ±Ã»ÓÐÖ¸¶¨Ê±¼ä²¿·Öʱ£¬ÔòÄ ......
ORACLE º¯Êý¿ª·¢
1¡¢½¨Á¢º¯ÊýµÄÓï·¨£º
CREATE [OR REPLACE] FUNCTION º¯ÊýÃû
[ (arg1 [mode] datatype[,........])] --µ±Ö¸¶¨²ÎÊýÊý¾ÝÀàÐÍʱ£¬²»ÄÜÖ¸¶¨Æä³¤¶È¡£modeÖµ£ºIN¡¢OUT¡¢IN OUT£¬µ±mode δָ¶¨Ê±£¬±íʾΪIN
RETURN datatype ......
oracle·ÖÎöº¯ÊýÊ®·ÖÇ¿´ó£¬ÎÒÃÇÖ»ÒªÕÆÎÕÕâЩ·½·¨£¬¸üÖ±½ÓµÄ˵·¨¾ÍÊÇÖªµÀÕâЩ·ÖÎöº¯ÊýµÄ×÷ÓþÍÄÜÍê³ÉºÜ¶à¹¤×÷¡£
ϱßÌù³öÕâЩº¯Êý£¬¼°¼òµ¥Ó¦Óá£
ÆäÖÐÎÒÏë¶Ôlag£¨£©ºÍlead£¨£©º¯Êý×øÏÂ˵Ã÷£ºlag£¨£©±¾ÉíÊÇÑÓºóµÄÒâ˼Ҳ¾ÍÊÇÑÓºó³öÏÖijÁеÄÊý£¬¶ølead£¨£©ÓÐÒýÁì¡¢ÁìÏȵÄÒâ˼Ҳ¾ÍÊÇÌáǰ¼¸ÐÐÏÔʾijÁÐÊý¾Ý
RANK()
dense_rank() ......
---------------oracle ÈëÃÅ
´ò¿ª·þÎñÆ÷
net start oracleserviceORCL
´ò¿ª¼àÌýÆ÷
lsnrctl start
¹Ø±Õ·þÎñÆ÷
net stop oracleserviceORCL
¹Ø±Õ¼àÌýÆ÷
lsnrctl stop
-----------------------------
1.´´½¨±í
Create table ±íÃû
(×Ö¶ÎÃû Êý¾Ý ......