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

Oracle ²éѯ¡¢¸üлù±¾²Ù×÷

oracle ĬÈϸôÀëµÈ¼¶ÊÇ£º¶ÁÒÑÌá½»¡£
²éÑ¯Ëø¶¨£¬·ÀÖ¹ÁíÍâÓû§¸üУº
select * from books for update;
µ±Ç°Óû§¸üÐÂÖ®ºó£¬ÁíÍâÓû§¿ÉÒÔ¸ü¸Ä¡£
01¡¢±íÁ¬½Ó
¼Ù¶¨from×Ó¾äÖдÓ×óµ½ÓÒÁ½¸ö±í·Ö±ðΪA£¬B±í¡£
ÄÚÁ¬½Ó£ºÑ¡È¡A¡¢B±íµÄÍêȫƥÅäµÄ¼¯ºÏ£¬Á½±í½»¼¯£º
select empno,ename,emp.deptno A,dept.deptno B,dname from emp inner join dept on emp.deptno=dept.deptno;
×óÍâÁ¬£ºÑ¡È¡A±íÈ«²¿ÒÔ¼°A¡¢B±í½»¼¯
select dname,dept.deptno A,emp.deptno B,empno,ename from dept left join emp on dept.deptno=emp.deptno;
ÓÒÍâÁ¬£ºÑ¡È¡B±íÈ«²¿ÒÔ¼°A¡¢B±í½»¼¯
select empno,ename,emp.deptno A,dept.deptno B,dname from emp right join dept on emp.deptno=dept.deptno;
02¡¢±íÁªºÏ

ÕûºÏ½á¹û¼¯²¢Ïû³ýÖØ¸´ÐУº
select empno,ename from emp
union
select deptno,dname from dept;
03¡¢¿ÕÖµ
select empno,ename,nvl(comm,0) from emp;      --ÕýÈ·£¬commÓë0ÀàÐÍÏàͬ
select empno,ename,nvl(comm,'¿ÕÖµ') from emp; --´íÎó£¬commÓë'¿ÕÖµ'ÀàÐͲ»Í¬
select empno,ename,comm from emp where comm is null;
select empno,ename,comm from emp where comm is not null;
04¡¢ÅÅÐò
select * from emp order by empno,asc;
select * from dept order by deptno desc;
05¡¢Ïû³ýÖØ¸´Êý¾Ý
select distinct deptno from emp;
06¡¢Ä£ºý²éѯ
select ename from emp where ename like '%K';
_±íʾһ¸ö×Ö·û£¬%±íʾһ¸ö»ò¶à¸ö×Ö·û
07¡¢·Ö×é
select deptno, avg(sal) from emp group by deptno;       --·Ö×éÇó³öƽ¾ùнˮ
select deptno, avg(sal) from emp group by deptno, job;  --×éºÏ·Ö×é
select deptno, avg(sal) from emp group by deptno having avg(sal) > 2000;
group by ºóÃæµÄ×ֶΣ¬¿ÉÒÔ²»³öÏÖÔÚselectºóÃæ£»
select ºóÃæµÄ×ֶΣ¬Èç¹ûûÓгöÏÖÔÚ¾Û¼¯º¯ÊýÀ¾Í±ØÐë³öÏÖÔÚgroup byºóÃæ¡£
group by ·Ö×é¹ýÂËҪʹÓÃhaving¡£
08¡¢¾Û¼¯º¯Êý
select ename, max(sal) from emp;
ÕâÌõÓï¾ä´íÎó£ºmaxÖ»ÄÜÓÐÒ»¸öÖµ£¬Ö»ÄÜѡȡһÐУ¬µ«ÊǵÈÓÚmaxÖµµÄ¼Ç¼¿ÉÄÜÓкü¸¸ö£¬ÎÞ·¨ÕýÈ·Æ¥Å䣬ËùÒÔÓ¦¸ÃʹÓÃ×Ó²éѯ£º
select ename from emp where sal = (select max(sal) from emp);
¾Û¼¯º¯Êý²»ÄÜ×öΪÌõ¼þ³öÏÖÔÚwhere×Ó¾äµÄºó±ß£º
select deptno,sum(sal) from emp where sum(sa


Ïà¹ØÎĵµ£º

oracleÖеÄNVL,NVL2,NULLIF,COALESCE¼¸¸öͨÓú¯Êý

OracleÖк¯ÊýÒÔǰ½éÉܵÄ×Ö·û´®´¦Àí£¬ÈÕÆÚº¯Êý£¬Êýѧº¯Êý,ÒÔ¼°×ª»»º¯ÊýµÈµÈ£¬»¹ÓÐÒ»ÀຯÊýÊÇͨÓú¯Êý¡£Ö÷ÒªÓУºNVL,NVL2,NULLIF,COALESCE£¬Õ⼸¸öº¯ÊýÓÃÔÚ¸÷¸öÀàÐÍÉ϶¼¿ÉÒÔ¡£
ÏÂÃæ¼òµ¥½éÉÜһϼ¸¸öº¯ÊýµÄÓ÷¨¡£
ÔÚ½éÉÜÕâ¸ö֮ǰÄã±ØÐëÃ÷°×ʲôÊÇoracleÖеĿÕÖµnull
1.NVLº¯Êý
NVLº¯ÊýµÄ¸ñʽÈçÏ£ºNVL(expr1,expr2)
º¬ÒåÊ ......

Oracle תÒå×Ö·û

Ò»¡¢×¼±¸ÌØÊâÊý¾Ý
create table t_escape(s varchar2(50));
--show define -- define "&" (hex 26)
--show escape -- escape off
set define off
set escape on
insert into t_escape values('string&text');
insert into t_escape values('string\&text');
insert into t_escape values('st ......

OracleËæ»úº¯ÊýµÄÓ÷¨

 ÈÝÒ×µÃ˵£¬¾­¹ýdbms_random°üµ÷ÓÃËæ»úÊýµÄ²½Öè´óÌåÓÐ4ÖÖ£º
Ò»¡¢dbms_random.normal
Õâ¸öº¯Êý²»´ø²ÎÊý£¬»á»Øµ½normal distributionµÄÒ»¸önumberÃÅÀ֮࣬ËùÒÔ´óµÖËæ»úÊý»áÔÚ-Ò»µ½Ò»Æä¼ä¡£
¼òÂÔ²âÊÔÁËÒ»ÏÂ×Ó£¬·¢×÷100000´Î×î´óÄܵ½ÎåÉÏÏ£º
SQL> declare
¶þ i number:=Áã;
Èý j number:=Áã;
ËÄ begin
Îå for ......

Oracle ³£Óú¯Êý

001¡¢×Ö·û
length/lengthb   ×Ö·ûÊý(1¸öºº×Ö1¸ö×Ö·û) / ×Ö½ÚÊý(1¸öºº×Ö2¸ö×Ö½Ú)
ltrim/rtrim/trim ɾ³ý¿Õ¸ñ
lower/upper      ´óСдת»»
select length('abc') from dual;
select substr(ename, 1, 3) from emp; ´ÓµÚÒ»¸ö×Ö·û¿ªÊ¼½Ø£¬Ò»¹²½Ø3¸ö×Ö·û
substr('abcdefg',2,3) => ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ