OracleϰÌ⼯ ±±¾©ÈÚÐÅÑ§ÌÆ¿Æ¼¼ÓÐÏÞ¹«Ë¾
order by to_char(hiredate,'mm'),to_char(hiredate,'yyyy');
30. ÏÔʾËùÓÐÔ±¹¤µÄÈÕн½ð£¬ºöÂÔÓàÊý¡£Ã¿¸öÔµÄÌìÊý¶¼ÒÔ30Ìì¼Æ¡£ select ename,trunc(sal/30) from emp ;
31. ÕÒ³öÔÚ£¨ÈκÎÄê·Ý£©2ÔÂÊÜÆ¸µÄËùÓÐÔ±¹¤µÄÐÕÃû£¬¶ÔÓÚÿ¸öÔ±¹¤£¬ÏÔʾÆä¼ÓÈ빫˾µÄÌìÊý¡£
select ename,hiredate,(sysdate-hiredate) ÌìÊý from emp
where to_char(hiredate,'mm')=¡¯02¡¯;
µÚ5Ò³ ¹²32Ò³
OracleϰÌ⼯ ±±¾©ÈÚÐÅÑ§ÌÆ¿Æ¼¼ÓÐÏÞ¹«Ë¾
µÚ2Õ ¶à±í²éѯ
1. ÏÔʾËùÓÐÔ±¹¤µÄÐÕÃûename£¬²¿ÃźÅdeptnoºÍ²¿ÃÅÃû³Ædname¡£
select ename,e.deptno,dname from emp e,dept d where e.deptno=d.deptno;
2. ²éѯ20ºÅ²¿ÃÅÔ±¹¤µÄjobºÍ20ºÅ²¿ÃŵÄloc¡£
select ename,job,loc from emp e,dept d where e.deptno=d.deptno;
3. Ñ¡ÔñËùÓÐÓн±½ðcommµÄÔ±¹¤µÄename , dname , loc¡£
select ename,dname,loc,comm from emp e,dept d
where e.deptno=d.deptno and comm is not null;
4. Ñ¡ÔñÔÚ¹¤×÷µØµãDALLAS¹¤×÷µÄÔ±¹¤µÄename , job , deptno, dname¡£
select ename,job,e.deptno,dname from emp e,dept d
where e.deptno=d.deptno and loc='DALLAS';
5. Ñ¡ÔñËùÓÐÔ±¹¤µÄÐÕÃûename£¬Ô±¹¤ºÅdeptno£¬ÒÔ¼°ËûµÄ¹ÜÀíÕßmgrµÄÐÕÃû
enameºÍÔ±¹¤ºÅdeptno£¬½á¹ûÀàËÆÓÚÏÂÃæµÄ¸ñʽ£º employees SMITH Emp# 7369 manager FORD Mgr# 7902 select e.ename employees,e.empno Emp#,m.ename manager,m.empno Mgr# from emp e,emp m where e.mgr=m.empno;
6. ²éѯ¸÷²¿ÃÅÔ±¹¤ÐÕÃûºÍËûÃÇËùÔÚλÖ㬽á¹ûÀàËÆÓÚÏÂÃæµÄ¸ñʽ£º
Deptno 20 Ename SMITH Loc DALLAS select e.deptno Deptno,ename Ename,loc Loc
µÚ6Ò³ ¹²32Ò³
OracleϰÌ⼯ ±±¾©ÈÚÐÅÑ§ÌÆ¿Æ¼¼ÓÐÏÞ¹«Ë¾
from emp e,dept d where e.deptno=d.deptno;
7. ÏÔʾ£ºÔ±¹¤±àºÅ£¬Ô±¹¤Ãû³Æ£¬Ô±¹¤ËùÔÚ²¿ÃűàºÅ£¬Ô±¹¤ËùÔÚ²¿ÃÅÃû³Æ¡£
select empno,ename,e.deptno,dname from emp e,dept d where e.deptno=d.deptno;
8. ÏÔʾ£ºÔ±¹¤±àºÅ£¬Ô±¹¤Ãû³Æ£¬¾Àí±àºÅ£¬¾ÀíÃû³Æ¡£
select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno;
9. ÏÔʾ£ºÔ±¹¤±àºÅ£¬Ô±¹¤Ãû³Æ£¬¾Àí±àºÅ£¬¾ÀíÃû³Æ£¬Ô±¹¤ËùÔÚ²¿ÃűàºÅ£¬Ô±
¹¤ËùÔÚ²¿ÃÅÃû³Æ¡£
select e.empno,e.ename,m.empno,m.ename,e.deptno,d.dname from emp e,emp m,dept d where e.mgr=m.empno and e.deptno=d.deptno;
10. ÏÔʾ£ºÔ±¹¤±àºÅ£¬Ô±¹¤Ãû³Æ£¬¾Àí±àºÅ£¬¾ÀíÃû³Æ£¬Ô±¹¤ËùÔÚ²¿ÃűàºÅ£¬Ô±
¹¤ËùÔÚ²¿ÃÅÃû³Æ£¬¾ÀíËùÔÚ²¿ÃűàºÅ£¬¾ÀíËùÔÚ²¿ÃÅÃû³Æ¡£ select
e.empno,e.ename,m.empno,m.ename,e.deptno,d.dname,md.deptno,md.dname from emp e,emp m,dept d,dept md where e.mgr=m.empno and e.deptno=d.deptno and m.deptno=md.deptno;
µÚ7Ò³ ¹²32Ò³
OracleϰÌ⼯ ±±¾©ÈÚÐÅÑ§ÌÆ¿Æ¼¼ÓÐÏÞ¹«Ë¾
µÚ3Õ ·Ö×é²éѯ
1. ÁгöÖÁÉÙÓÐÒ»¸öÔ±¹¤µÄËùÓв¿ÃÅ¡£ select deptno,count(ename)
from emp group by deptno having count(ename)>=1;
2. ²éѯemp±íÖгöÿ¸ö²¿ÃŵIJ¿ÃÅ´úÂ롢нˮ֮ºÍ¡¢Æ½¾ùнˮ¡£
select deptno,sum(sal),avg(sal) from emp group by deptno;
3. ²éѯemp±íÖгö²¿ÃÅÈËÊý´óÓÚµÈÓÚ2µÄ²¿ÃŵIJ¿ÃÅ´úÂë¡¢²¿ÃÅÈËÊý¡£
select deptno,count(empno) from emp group by deptno having count(empno)>=2;
4. ²éѯemp±íÖгö²¿ÃÅÆ½¾ùнˮСÓÚµÈÓÚ20000µÄ²¿ÃŵIJ¿ÃÅ´úÂ롢ƽ¾ùнˮ£¬
²¢°´Æ½¾ùнˮ´Ó´óµ½Ð¡ÅÅÐò¡£ select deptno,avg(sal) from emp group by deptno having avg(sal)<=20000 order by avg(sal) desc;
5. ²éѯemp±íÖгö²¿ÃźϼÆÐ½Ë®´óÓÚµÈÓÚ1000µÄ²¿ÃŵIJ¿ÃÅ´úÂ롢ƽ¾ùнˮ£¬
²¢°´Æ½¾ùнˮ´Ó´óµ½Ð¡ÅÅÐò¡£ select deptno,avg(sal),sum(sal) from emp group by deptno having sum(sal)>=1000
µÚ8Ò³ ¹²32Ò³
Ïà¹ØÍÆ¼ö£º