Oracle+SQL:¾­µä²éѯÁ·ÊÖËÄÆª ÏÂÔØ±¾ÎÄ

Oracle SQL£º¾­µä²éѯÁ·ÊÖËÄÆª

¾­µä²éѯÁ·ÊÖµÚһƪ

±¾ÎÄʹÓõÄʵÀý±í½á¹¹Óë±íµÄÊý¾ÝÈçÏ£º scott.empÔ±¹¤±í½á¹¹ÈçÏ£º

Name Type Nullable Default Comments

-------- ------------ -------- ------- -------- EMPNO NUMBER(4) Ô±¹¤ºÅ

ENAME VARCHAR2(10) Y Ô±¹¤ÐÕÃû JOB VARCHAR2(9) Y ¹¤×÷ MGR NUMBER(4) Y Éϼ¶±àºÅ HIREDATE DATE Y ¹ÍÓ¶ÈÕÆÚ SAL NUMBER(7,2) Y н½ð COMM NUMBER(7,2) Y Ó¶½ð

DEPTNO NUMBER(2) Y ²¿ÃűàºÅ

scott.dept²¿Ãűí

Name Type Nullable Default Comments

------ ------------ -------- ------- -------- DEPTNO NUMBER(2) ²¿ÃűàºÅ

DNAME VARCHAR2(14) Y ²¿ÃÅÃû³Æ LOC VARCHAR2(13) Y µØµã

Ìáʾ£º¹¤×Ê=н½ð+Ó¶½ð scott.emp±íµÄÏÖÓÐÊý¾ÝÈçÏ£º

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

----- ---------- --------- ----- ----------- --------- --------- ------

7369 SMITH CLERK 7902 1980-12-17 800.00 20

7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30

7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30

7566 JONES MANAGER 7839 1981-4-2 2975.00 2

0

7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30

7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30

7782 CLARK MANAGER 7839 1981-6-9 2450.00 10

7788 SCOTT ANALYST 7566 1987-4-19 4000.00 20

7839 KING PRESIDENT 1981-11-17 5000.00 10

7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30

7876 ADAMS CLERK 7788 1987-5-23 1100.00 20

7900 JAMES CLERK 7698 1981-12-3 950.00 30

7902 FORD ANALYST 7566 1981-12-3 3000.00 20

7934 MILLER CLERK 7782 1982-1-23 1300.00 10

102 EricHu Developer 1455 2011-5-26 1 5500.00 14.00 10

104 huyong PM 1455 2011-5-26 1 5500.00 14.00 10

105 WANGJING Developer 1455 2011-5-26 1 5500.00 14.00 10

17 rows selected

Scott.dept±íµÄÏÖÓÐÊý¾ÝÈçÏ£º SQL> select * from dept;

DEPTNO DNAME LOC

------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 50 50abc 50def 60 Developer HaiKou

6 rows selected

ÓÃSQLÍê³ÉÒÔÏÂÎÊÌâÁÐ±í£º

1£®ÁгöÖÁÉÙÓÐÒ»¸öÔ±¹¤µÄËùÓв¿ÃÅ¡£ 2£®Áгöн½ð±È¡°SMITH¡±¶àµÄËùÓÐÔ±¹¤¡£

3£®ÁгöËùÓÐÔ±¹¤µÄÐÕÃû¼°ÆäÖ±½ÓÉϼ¶µÄÐÕÃû¡£ 4£®ÁгöÊܹÍÈÕÆÚÔçÓÚÆäÖ±½ÓÉϼ¶µÄËùÓÐÔ±¹¤¡£

5£®Áгö²¿ÃÅÃû³ÆºÍÕâЩ²¿ÃŵÄÔ±¹¤ÐÅÏ¢£¬Í¬Ê±ÁгöÄÇЩûÓÐÔ±¹¤µÄ²¿ÃÅ 6£®ÁгöËùÓС°CLERK¡±£¨°ìÊÂÔ±£©µÄÐÕÃû¼°Æä²¿ÃÅÃû³Æ¡£ 7£®Áгö×îµÍн½ð´óÓÚ1500µÄ¸÷ÖÖ¹¤×÷¡£

8£®ÁгöÔÚ²¿ÃÅ¡°SALES¡±£¨ÏúÊÛ²¿£©¹¤×÷µÄÔ±¹¤µÄÐÕÃû£¬¼Ù¶¨²»ÖªµÀÏúÊÛ²¿µÄ²¿ÃűàºÅ¡£

9£®Áгöн½ð¸ßÓÚ¹«Ë¾Æ½¾ùн½ðµÄËùÓÐÔ±¹¤¡£

10£®ÁгöÓë¡°SCOTT¡±´ÓÊÂÏàͬ¹¤×÷µÄËùÓÐÔ±¹¤¡£

11£®Áгöн½ðµÈÓÚ²¿ÃÅ30ÖÐÔ±¹¤µÄн½ðµÄËùÓÐÔ±¹¤µÄÐÕÃûºÍн½ð¡£

12£®Áгöн½ð¸ßÓÚÔÚ²¿ÃÅ30¹¤×÷µÄËùÓÐÔ±¹¤µÄн½ðµÄÔ±¹¤ÐÕÃûºÍн½ð¡£ 13£®ÁгöÔÚÿ¸ö²¿Ãʤ×÷µÄÔ±¹¤ÊýÁ¿¡¢Æ½¾ù¹¤×ÊºÍÆ½¾ù·þÎñÆÚÏÞ¡£ 14£®ÁгöËùÓÐÔ±¹¤µÄÐÕÃû¡¢²¿ÃÅÃû³ÆºÍ¹¤×Ê¡£ 15£®ÁгöËùÓв¿ÃŵÄÏêϸÐÅÏ¢ºÍ²¿ÃÅÈËÊý¡£ 16£®Áгö¸÷ÖÖ¹¤×÷µÄ×îµÍ¹¤×Ê¡£

17£®Áгö¸÷¸ö²¿ÃŵÄMANAGER£¨¾­Àí£©µÄ×îµÍн½ð¡£ 18£®ÁгöËùÓÐÔ±¹¤µÄÄ깤×Ê,°´Äêн´ÓµÍµ½¸ßÅÅÐò¡£ ¸÷´ð°¸ÈçÏ£¬»¶Ó­´ó¼Ò¸ø³ö²»³öµÄ½â´ð·½Ê½¡£

--------1£®ÁгöÖÁÉÙÓÐÒ»¸öÔ±¹¤µÄËùÓв¿ÃÅ¡£---------

SQL> select dname from dept where deptno in(select deptno from emp); DNAME

-------------- RESEARCH SALES

ACCOUNTING

--------»ò--------

SQL> select dname from dept where deptno in(select deptno from emp group by deptno having count(deptno) >=1); DNAME

-------------- ACCOUNTING RESEARCH SALES

--------2£®Áгöн½ð±È¡°SMITH¡±¶àµÄËùÓÐÔ±¹¤¡£----------

SQL> select * from emp where sal > (select sal from emp where ename = 'SMITH');

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

----- ---------- --------- ----- ----------- --------- --------- ------

7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30 7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30 7566 JONES MANAGER 7839 1981-4-2 2975.00 20

7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30 7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30 7782 CLARK MANAGER 7839 1981-6-9 2450.00 10 7788 SCOTT ANALYST 7566 1987-4-19 4000.00 20 7839 KING PRESIDENT 1981-11-17 5000.00 10

7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987-5-23 1100.00 20 7900 JAMES CLERK 7698 1981-12-3 950.00 30 7902 FORD ANALYST 7566 1981-12-3 3000.00 20 7934 MILLER CLERK 7782 1982-1-23 1300.00 10

102 EricHu Developer 1455 2011-5-26 1 5500.00 14.00 10 104 huyong PM 1455 2011-5-26 1 5500.00 14.00 10

105 WANGJING Developer 1455 2011-5-26 1 5500.00 14.00 10 16 rows selected

--------3£®ÁгöËùÓÐÔ±¹¤µÄÐÕÃû¼°ÆäÖ±½ÓÉϼ¶µÄÐÕÃû¡£----------

SQL> select a.ename,(select ename from emp b where b.empno=a.mgr) as boss_name from emp a; ENAME BOSS_NAME

---------- ---------- SMITH FORD ALLEN BLAKE WARD BLAKE JONES KING MARTIN BLAKE BLAKE KING CLARK KING SCOTT JONES KING

TURNER BLAKE ADAMS SCOTT JAMES BLAKE FORD JONES MILLER CLARK EricHu huyong