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
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
ÕâÒ»ÕÂÖУ¬ÎÒÃǽ«·ÖÎö¹¹³ÉÊý¾Ý¿âºÍʵÀýµÄ8 ÖÖÎļþÀàÐÍ¡£
ÓëʵÀýÏà¹ØµÄÎļþÖ»ÓУº
²ÎÊýÎļþ£¨parameter file£©£ºÕâЩÎļþ¸æËßOracle ʵÀýÔÚÄÄÀï¿ÉÒÔÕÒµ½¿ØÖÆÎļþ£¬²¢ÇÒÖ¸
¶¨Ä³Ð©³õʼ»¯²ÎÊý£¬ÕâЩ²ÎÊý¶¨ÒåÁËijÖÖÄÚ´æ½á¹¹Óжà´óµÈÉèÖá£ÎÒÃÇ»¹»á½éÉÜ´æ´¢Êý¾Ý¿â²Î
ÊýÎļþµÄÁ½ÖÖÑ¡Ôñ¡£
¸ú×ÙÎļþ£¨trace file£ ......
°Ñ×Ô¼ºËѼ¯µÄ×ÊÁÏÌù³öÀ´£¬Ñ§Ï°¹¤×÷·½±ãÕ¼¡£
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQ ......
1.Çó²¿ÃÅÖÐÄÄЩÈËнˮ×î¸ß£º
select ename,sal
from emp join
(
select max(sal) max_sal, deptno
from emp
group by deptno
) t
on (emp.sal = t.max_sal and emp.deptno = t.deptno);
2.Çó²¿ÃÅƽ¾ùнˮµÄµÈ¼¶£º
select deptno, avg_sal, grade ......
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) => ......