[Oracle] 쿼리연습1

2010. 4. 28. 16:21Database/Oracle

1.업무(JOB) 가 MANAGER 인 사원의 이름, 입사일을 출력
    SELECT ENAME,HIREDATE
    FROM EMP
    WHERE JOB='MANAGER'

2.사원명이 WARD 인 사원의 급여,커미션을 출력
    SELECT SAL,COMM FROM EMP
    WHERE ENAME='WARD'

3.30번 부서에 속하는 사원의 이름, 부서번호를 출력
   SELECT ENAME,DEPTNO
   FROM EMP
   WHERE DEPTNO=30

4.급여가 1250 을 초과 ,  3000이하 인 사원의 이름,급여를 출력
   SELECT ENAME,SAL
   FROM EMP
   WHERE SAL>1250 AND SAL<=3000

4-2. 급여가 1250 이상 3000 이하(범위가 포함될때는 BETWEEN 사용)
  SELECT ENAME,SAL
   FROM EMP
   WHERE SAL BETWEEN  1250  AND  3000;

5.커미션이 0 인 사원의 이름, 커미션을 출력
   SELECT ENAME,COMM
   FROM EMP
   WHERE COMM=0

6.커미션 계약을 하지 않은 사원의 이름을 출력
    SELECT ENAME
    FROM EMP
    WHERE COMM IS NULL

6.1커미션 계약을 한 사원의 이름을 출력
SELECT ENAME FROM EMP WHERE COMM IS NOT NULL

7.입사일이 81/06/09보다 늦은 사원의 이름, 입사일 출력하되,
   입사일을 기준으로 오름차순으로 출력하시오

  SELECT ENAME,HIREDATE
   FROM EMP
   WHERE HIREDATE > '81/06/09'
   ORDER BY HIREDATE ASC  --입사일 기준 오름차순

8.모든 사원의 급여마다 1000을 더한 급여를 출력
  SELECT SAL+1000  AS  가칭    --AS는 생략이 가능하다.
  FROM EMP

9.FORD 의 입사일,부서번호를 출력
  SELECT HIREDATE,DEPTNO
   FROM EMP
   WHERE ENAME='FORD'

10.사원명이 ALLEN인 사원의 급여를 출력하세요.
   SELECT SAL
   FROM EMP
   WHERE ENAME='ALLEN'
11.ALLEN 의 급여보다 높은 급여를 받는 사원의 사원명 ,
    급여를 출력하세요
    SELECT ENAME,SAL FROM EMP WHERE

    SAL > (SELECT SAL FROM EMP
    WHERE ENAME='ALLEN')

12.가장 높은/낮은 커미션을 구하세요.
    SELECT MAX(COMM) FROM EMP --최대값
    SELECT MIN(COMM) FROM EMP --최소값

13.가장 높은 커미션을 받는 사원의 이름을 구하세요.
     SELECT ENAME
     FROM EMP
     WHERE COMM=(SELECT MAX(COMM) FROM EMP)

14.가장 높은 커미션을 받는 사원의 입사일보다 늦은 사원의
    이름,입사일을 출력하세요.
    SELECT ENAME,HIREDATE FROM EMP
    WHERE    HIREDATE > (SELECT HIREDATE FROM EMP
    WHERE COMM=(SELECT MAX(COMM) FROM EMP))
15.JOB 이 CLERK 인 사원들의 급여의 합을 구하세요

 SELECT SUM(SAL) FROM EMP WHERE JOB='CLERK'

16.JOB 이 CLERK 인 사원들의 급여의 합보다 급여가 많은 사원이름을
  출력하세요

SELECT ENAME FROM EMP WHERE SAL > (SELECT SUM(SAL) FROM EMP WHERE JOB='CLERK')

17.JOB이 CLERK인 사원들의 급여와 같은 급여를받는 사원의 이름,급여를
  출력하세요
SELECT ENAME,SAL FROM EMP WHERE SAL IN (SELECT SAL FROM EMP WHERE JOB='CLERK')

--반환되는 값이 여러행일 경우 IN

SELECT ENAME,SAL FROM EMP WHERE SAL IN (SELECT SAL FROM EMP WHERE JOB='CLERK') ORDER BY SAL DESC

18.EMP 테이블의 구조 출력

DESC EMP;

'Database > Oracle' 카테고리의 다른 글

[Oracle] 쿼리연습4  (0) 2010.04.28
[Oracle] 쿼리연습3  (0) 2010.04.28
[Oracle] 쿼리연습2  (0) 2010.04.28
[Oracle] 오라클 Admin실습1  (0) 2010.04.28
[Oracle] 오라클이란?  (0) 2010.04.28