OracleµÄsqlÓï¾äÁ·Ï°Ì⺬´ð°¸

·¢²¼Ê±¼ä : ÐÇÆÚÈÕ ÎÄÕÂOracleµÄsqlÓï¾äÁ·Ï°Ì⺬´ð°¸¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

emp.deptno(+)=dept.deptno group by dept.deptno,dept.dname,dept.loc

--42.Áгö¸÷ÖÖ¹¤×÷µÄ×îµÍ¹¤×Ê

select job, min(sal + nvl(comm, 0)) \×îµÍ¹¤×Ê\ --43.Áгö¸÷¸ö²¿ÃŵÄMANAGER£¨¾­Àí£©µÄ×îµÍн½ð

select min(sal + nvl(comm,0)) from emp where upper(job) = 'MANAGER' group by deptno; --ÏÔʾ²¿ÃÅÃû³Æ

select dname, min(sal + nvl(comm,0)) from emp, dept where emp.deptno = dept.deptno and upper(job) = 'MANAGER' group by dname;

--44.ÁгöËùÓÐÔ±¹¤µÄÄ깤×Ê,°´Äêн´ÓµÍµ½¸ßÅÅÐò

select ename, to_char((sal+nvl(comm,0))*12, '9999,9999.00') \Ä깤×Ê\ --45.ÏÔʾ¸÷²¿ÃÅÔ±¹¤Ð½½ð×î¸ßµÄÇ°2Ãû

select * from (select ename, deptno, sal, row_number() over(partition by deptno order by sal desc) r from emp ) where r <=2

--46.ÏÔʾн½ð×î¸ßµÄ3λԱ¹¤

select * from (select ename, sal,dense_rank() over(order by sal desc) r from emp) where r <=3; --47.´´½¨±ímyempºÍemp±í¾ßÓÐÏàͬµÄ½á¹¹ºÍ¼Ç¼¡£ create table myemp as select * from emp; --48.¸ømyempµÄempnoÁÐÌí¼ÓÖ÷½¨Ô¼Êø¡£

alter table myemp add constraint pk primary key(empno); --49.¸ømyempÌí¼ÓÒ»Ìõ¼Ç¼¡£

insert into myemp values(1,'a','ab',999999,to_date('2008-9-9','yyyy-mm-dd'),5000,1000,30); --50.¸ømyempÌí¼ÓÒ»Ìõ¼Ç¼ֻÓÐempno,ename,mgr,sal£¬deptnoÓÐÖµ£¬ÆäËûÁÐΪ¿Õ¡£ insert into myemp(empno,ename,mgr,sal,deptno) values(20,'aa',30,999999,20); --51.ÏÔʾËùÓÐн½ð¸ßÓÚ¸÷×Ô²¿ÃÅƽ¾ùн½ðµÄÈË¡£(¹ØÁª×Ó²éѯ)

select e.ename, e.deptno, e.sal from emp e where e.sal>(select avg(sal) from emp p where e.deptno=p.deptno);

--52.¸øËùÓÐ10²¿Ãŵľ­Àí£¨MANAGER£©ºÍ20²¿ÃŵÄÖ°Ô±(CLERK)£¬Ôö¼Óн½ð10%¡£

update emp set sal=sal*(1+0.1) where (deptno=10 and upper(job)='MANAGER') or(deptno=20 and upper(job)='CLERK');

--53.ɾ³ýDEPTÖÐûÓÐÔ±¹¤µÄ²¿ÃÅ¡£

delete from dept where deptno not in(select distinct deptno from emp); --54.ɾ³ý¹ÍÓ¶ÄêÏÞµÍÓÚ20ÄêµÄÔ±¹¤¡£

delete from emp where trunc(sysdate-hiredate) < 365*20;

1. ²éѯËùÓйÍÔ±ÐÕÃûÒÔ¼°ÆäÈ«ÄêÊÕÈ루¹¤×Ê+½±½ð£©£¬²¢Ö¸¶¨ÁбðÃûΪ¡°ÄêÊÕÈ롱¡£ select ename,12*(sal+nvl(comm,0)) asÄêÊÕÈë from emp; 2. ²éѯÓйÍÔ±µÄËùÓв¿ÃŵIJ¿ÃźźͲ¿ÃÅÃû³Æ¡£ select empno,ename,dept.dname,dept.deptno emp.deptno=dept.deptno;

3. ²éѯ¹¤×ʳ¬¹ý2850µÄ¹ÍÔ±ÐÕÃûºÍ¹¤×Ê¡£ select ename, sal from emp where sal>2850;

4. ²éѯ¹¤×ʲ»ÔÚ1500µ½2850Ö®¼äµÄËùÓйÍÔ±ÐÕÃûºÍ¹¤×Ê¡£

select ename, sal from emp where sal not between 1500 and 2850; 5. ²éѯ10ºÅ²¿ÃźÍ30ºÅ²¿ÃŹ¤×ʳ¬¹ý1500µÄ¹ÍÔ±ÐÕÃûºÍ¹¤×Ê¡£

from

emp,dept

where

select ename, sal from emp where sal < 1500 and deptno in (10,30);

6. ²éѯûÓÐÉÏ˾µÄÔ±¹¤ÐÕÃû¼°Æäְλ¡£

select ename, job from emp where mgr is null;

7. ²éѯÔÚ1981Äê2ÔÂ1ÈÕ~1981Äê5ÔÂ1ÈÕÖ®¼äÈëÖ°µÄ¹ÍÔ±ÐÕÃû¡¢Ö°Î»¼°Èëְʱ¼ä£¬²¢ÒÔÈëְʱ¼äµÄÏȺó½øÐÐÅÅÐò¡£

select ename,job,hiredate from emp where hiredate between '01-1ÔÂ-81' and '01-5ÔÂ-81' order by hiredate;

8. ²éѯÓн±½ðµÄÔ±¹¤µÄÐÕÃû¡¢¹¤×ʺͽ±½ð£¬²¢°´¹¤×ʺͽ±½ð½µÐòÅÅÐò¡£

select ename,sal,comm from emp where comm is not null order by sal desc,comm desc; 9. ²éѯÿÖÖְλµÄ¹ÍÔ±×ÜÊýºÍƽ¾ù¹¤×Ê¡£

select job,count(*),avg(sal) from emp group by job; 10. ²éѯËùÓйÍÔ±×ÜÊýºÍ»ñµÃ½±½ðµÄÔ±¹¤Êý¡£ select count(empno),count(comm) from emp ; 11. ²éѯ¾­ÀíµÄ×ÜÈËÊý¡£

select count(*) from emp where job='MANAGER';

12. ²éѯ20ºÅ²¿ÃŵIJ¿ÃÅÃû³Æ£¬ÒÔ¼°¸Ã²¿ÃÅËùÓйÍÔ±ÐÕÃû¡¢¹¤×ʺÍְλ¡£

select dname,ename,sal,job from emp,dept where dept.deptno=emp.deptno and emp.deptno=20;

13. ²éѯÓн±½ðµÄËùÓÐÔ±¹¤µÄÐÕÃû¡¢½±½ðÒÔ¼°ËùÔÚ²¿ÃÅÃû³Æ¡£

select ename,comm,dname from emp,dept where dept.deptno=emp.deptno and comm is not null;

14. ²éѯÔÚ¡°New York¡±¹¤×÷µÄËùÓÐÔ±¹¤µÄÐÕÃû¡¢¹¤×ʼ°ÆäËùÔÚ²¿ÃÅÃû³Æ¡£

select ename,sal,dname from emp,dept where dept.deptno=emp.deptno and loc= 'NEW YORK';

15. ²éѯ¹ÍÔ±SCOTTµÄÉϼ¶¡£

select empno,ename from emp where empno=(select mgr from emp where ename='SCOTT');

16. ²éѯ20ºÅ²¿ÃŵÄÔ±¹¤ÐÕÃû¡¢¹¤×ʼ°Æ伶±ð¡£

select ename,sal,grade from emp,salgrade where deptno=20 and sal between losal and hisal;

17. ²éѯÓëBLAKEͬһ²¿ÃŵÄÆäËûÔ±¹¤¡£

select empno,ename from emp where deptno=(select deptno from emp where ename='BLAKE') and

ename!= 'BLAKE';

18. ²éѯ¹¤×ʳ¬¹ýƽ¾ù¹¤×ʵÄËùÓÐÔ±¹¤µÄÐÕÃû¡¢¹¤×ʺÍְλ¡£

select ename,sal,job from emp where sal> (select avg(sal) from emp); 19. ²éѯ¹¤×Ê¡¢½±½ðÓëSCOTTÍêÈ«ÏàͬµÄËùÓÐÔ±¹¤µÄÐÕÃû¡¢¹¤×ʺͽ±½ð¡£

select ename,sal, comm from emp where (sal,nvl(comm,-1)) in (select sal,nvl(comm,-1) from emp where

ename='SCOTT') ; 20. ²éѯ81ÄêÈëÖ°µÄÔ±¹¤

select * from emp where to_char(hiredate, 'yy')= '81'; 21. °´ÄêÔÂÈÕ²éѯԱ¹¤ÐÅÏ¢

select to_char(hiredate, 'yyyy-mm-dd' )from emp;

22. ÏòDEPT±íÖвåÈëÒ»ÌõÊý¾Ý£¬ÒªÇ󣺲¿ÃźÅΪ50£¬²¿ÃÅÃû³ÆΪADMINISTRATOR£¬²¿ÃÅλÖÃΪBOSTON¡£

Insert into dept values(50, 'ADMINISTRATOR','BOSTON');

23. ÏòEMP±íÖвåÈëÒ»ÌõÊý¾Ý£¬ÒªÇó£ºÔ±¹¤ºÅΪ2000£¬ÐÕÃûΪJOHN£¬¹¤×ÊΪ1000£¬Èëְʱ¼äΪ2003Äê4ÔÂ7ÈÕ£¬²¿ÃźÅΪ30ºÅ¡£

Insert into emp (empno,ename,sal,hiredate,deptno) values(2000, 'JOHN',1000, '07-4ÔÂ-03',30);

24. ¸ø10ºÅ²¿ÃŵÄÿ¸ö¹ÍÔ±Ôö¼Ó10%µÄ¹¤×Ê¡£È»ºóÌá½»ÊÂÎñ¡£ Update emp set sal=sal*1.1 where deptno=10; commit

25. ɾ³ý50ºÅ²¿ÃÅ¡£È»ºó»Ø¹öÊÂÎñ¡£ Delete from dept where deptno=50; Rollback;

н¨Ò»ÕÅѧԱÐÅÏ¢±í(student)£¬ÒªÇó£º

1. ×Ö¶ÎÈçÏ£ºÑ§ºÅ(sid)£¬ÐÕÃû(name)£¬ÐÔ±ð(sex)£¬ÄêÁä(age)£¬µØÖ·(address)£®

2. ·Ö±ðΪ×Ö¶ÎÌí¼ÓÔ¼Êø£ºÑ§ºÅΪÖ÷¼ü£¬ÐÕÃûΪ·Ç¿Õ£¬ÐÔ±ðΪ¼ì²éÔ¼Êø£¬ÄêÁäΪ¼ì²éÔ¼Êø£¬µØַΪĬÈÏÔ¼Êø£® 3. Ϊ±í½¨Á¢×ÔÔöÖµ£¨sid£©, ½¨Òé³õʼֵ´ÓΪ 1001, ÔöÁ¿Îª 1. 4. ²åÈë¼Ç¼£®

н¨Ò»Õſγ̱í(course)£¬ÒªÇó£º

1. ×Ö¶ÎÈçÏ£º¿Î³Ì±àºÅ(cid)£¬¿Î³ÌÃû³Æ(subject)£®

2. ·Ö±ðΪ×Ö¶ÎÌí¼ÓÔ¼Êø£º¿Î³Ì±àºÅΪÖ÷¼ü£¬¿Î³ÌÃû³ÆΪ·Ç¿Õ£® 3. Ϊ±í½¨Á¢×ÔÔöÖµ(cid), ½¨Òé³õʼֵ´ÓΪ 1, ÔöÁ¿Îª 1. 4. ²åÈë¼Ç¼£®

н¨Ò»ÕÅѧԱ¿¼ÊԳɼ¨±í(grade)£¬ÒªÇó£º

1. ×Ö¶ÎÈçÏ£º³É¼¨±àºÅ(gid)£¬Ñ§ºÅ(sid)£¬¿Î³Ì±àºÅ(cid)£¬¿¼ÊԳɼ¨(score).

2. ·Ö±ðΪ×Ö¶ÎÌí¼ÓÔ¼Êø£º³É¼¨±àºÅΪÖ÷¼ü£¬Ñ§ºÅΪÍâ¼ü£¬¿Î³Ì±àºÅΪÍâ¼ü£¬¿¼ÊԳɼ¨Îª·Ç¿Õ. 3. Ϊ±í½¨Á¢×ÔÔöÖµ(gid), ½¨Òé³õʼֵ´ÓΪ 101, ÔöÁ¿Îª 1. 4. ²åÈë¼Ç¼£® »Ø¹Ë·Ö×é²éѯ£º

1. group by

ÓÃ;£º¶Ô½á¹û¼¯½øÐзÖ×飬³£Óë»ã×ܺ¯ÊýÒ»ÆðʹÓÃ. 2. having

ÓÃ;£ºÖ¸¶¨Èº×é»ò»ã×ܵÄËÑÑ°Ìõ¼þ¡£

×¢£ºhaving ͨ³£Óë group by ×Ó¾äͬʱʹÓᣲ»Ê¹Óà group ʱ£¬having ÔòÓë where ×Ӿ书ÄÜÏàËÆ¡£ Õë¶ÔÒÔÉÏÈýÕÅ±í£¬ÒªÇóÍê³ÉÈçÏ£º

1. °´Õտγ̱àºÅ·Ö×é²¢Çó³öÿһ×éµÄƽ¾ù·ÖÊý(ÿÃſγ̵Äƽ¾ù·Ö)

2. °´Õտγ̱àºÅ·Ö×é²¢Çó³öÿһ×é¼°¸ñÈËÊý(grade >= 60)µÄƽ¾ù·ÖÊý(ÿÃſγ̵ļ°¸ñÈËÊýµÄƽ¾ù·Ö) 3. Çóÿ¸öѧԱËùÓеĿγ̵Äƽ¾ù·Ö

4. Çóÿ¸öѧԱËùÓеģ¨¿¼ÊԳɼ¨£©¼°¸ñ¿Î³ÌµÄƽ¾ù·Ö

5. ÿ´ÎÄÚ²¿²âÊÔ²»Í¬Ñ§Ô±µÄƽ¾ù³É¼¨(ÿ¸öѧԱµÄÿÃſγ̵Äƽ¾ù·Ö)

6. ²éѯ²¹¿¼¹ýµÄѧԱµÄƽ¾ù³É¼¨ (Çó³öѧԱµÄ¿Î³Ì±àºÅ(cid)ÔÚ·Ö×éÄÚ³öÏÖ¹ýÒ»´ÎÒÔÉÏ)(ÿ¸öѧԱµÄÿÃſγ̵Ŀγ̱àºÅ³öÏÖ¹ýÒ»´ÎÒÔÉÏ)

7. ʹÓöà±íÄÚÁ¬½Ó²éѯ£¬Çó³öѧԱµÄѧºÅ£¬ÐÕÃû£¬¿¼ºÅ£¬¿ÆÄ¿ºÍ³É¼¨

8. ½¨Á¢Ò»ÕÅÊÓͼ£¬ÒªÇó×Ö¶ÎΪÖÐÎÄ£¬°üº¬Ñ§Ô±µÄѧºÅ£¬ÐÕÃû£¬¿¼ºÅ£¬¿ÆÄ¿£¬³É¼¨ÕâЩ×ֶΠ9. ´´½¨´¥·¢Æ÷£¬ÊµÏÖѧÉú±íÓë¿Î³Ì±í¸üÐÂʱ³É¼¨±í×÷ͬ²½¸üС£

ÁªÏµºÏͬ·¶ÎÄ¿Í·þ£ºxxxxx#qq.com(#Ì滻Ϊ@)