본문으로 바로가기

ORACL SQL 문제

category IT 프로그래밍 2017. 12. 27. 18:40

1.ALLEN과 부서가 같은 사원들의 사원명, 입사일을 출력하되 높은 급여순으로 출력하세요. 


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

 SELECT ENAME,HIREDATE FROM EMP 

 WHERE DEPTNO=(SELECT DEPTNO FROM EMP WHERE ENAME='ALLEN')   

 ORDER BY SAL DESC

 

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

 

2.가장 높은 급여를 받는 사원보다 입사일이 늦은 사원의 이름, 입사일을 출력하세요.


 

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

     SELECT ENAME,HIREDATE FROM EMP 

  WHERE HIREDATE > (SELECT HIREDATE FROM EMP 

            WHERE SAL=(SELECT MAX(SAL) FROM EMP)

            )

 




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

 

3.FORD 보다 입사일이 늦은 사원 중 급여가 가장 높은 사원의 이름과 급여를  출력하세요.

 

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

 SELECT ENAME,SAL FROM EMP 

 WHERE SAL=(

   SELECT MAX(SAL) FROM EMP 

   WHERE HIREDATE > 

    (SELECT HIREDATE FROM EMP WHERE ENAME='FORD')

 ) --AND ENAME<>'FORD'

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

4.이름에 "T"자가 들어가는 사원들의 급여의 합을 구하세요.

 

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

   LIKE 문 이용  

   SELECT SUM(SAL)

   FROM EMP 

   WHERE ENAME LIKE '%T%'

  

 

 

 

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

5.이름에 "S" 자가 들어가는 사원들 중 급여가 가장 높은 사원의 이름,급여를 출력하세요.

 

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

   SELECT SAL FROM EMP

   WHERE SAL=(

   SELECT MAX(SAL) FROM EMP WHERE ENAME LIKE '%S%')

   --AND ENAME<>'FORD'

 

 

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

 

6.모든 사원의 평균급여를 구하세요. 


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

  SELECT AVG(SAL) FROM EMP

 

 

 

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

7. 각 부서별 평균 급여를 구하세요. (GROUP BY) 


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

  SELECT DEPTNO,AVG(SAL) FROM EMP 

  GROUP BY DEPTNO -- 그룹화 시킬 컬럼명 


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

 

8.각 부서별 평균급여,전체급여,최고급여,최저급여을 구하여 평균급여가 많은 순으로 출력하세요.

 

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

  SELECT AVG(SAL),SUM(SAL),MAX(SAL),MIN(SAL) FROM EMP 

  GROUP BY DEPTNO 

  ORDER BY AVG(SAL) DESC

 

 

 

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

 

9. 20번 부서의 최고 급여보다 많은 사원의 사원번호,사원명,급여를 출력하세요.

 

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

   SELECT EMPNO,ENAME,SAL FROM EMP

   WHERE SAL > (SELECT MAX(SAL) FROM EMP WHERE DEPTNO=20)

 

 

 

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

10.SMITH와 같은 부서에 속한 사원들의 평균 급여보다 큰 급여를 받는 모든 사원의 사원명,급여를 출력하세요

 

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

    SELECT ENAME,SAL FROM EMP 

    WHERE SAL >(

      SELECT AVG(SAL) FROM EMP WHERE DEPTNO=

           (SELECT DEPTNO FROM EMP WEHRE ENAME='SMITH')

data-matched-content-rows-num="3" data-matched-content-columns-num="4" data-matched-content-ui-type="image_card_stacked"

--