--문제1. 사원 테이블에서 가장 월급을 많이 받는 사원의 이름과 월급과 입사일을 출력하시오
SELECT ename, sal, hiredate ,RANK() OVER (ORDER BY sal DESC)
FROM emp
LIMIT 1;
--문제2. 이름, 월급, 부서번호, 자기가 속한 부서번호의 평균월급을 출력하는데 자기의 월급이 자기가 속한 부서번호의 평균월급보다 더 큰 사원들만 출력하시오
SELECT a.ename, a.sal, a.deptno, b.avg_sal
FROM
(
SELECT e.ename, e.sal, e.deptno
FROM emp e INNER JOIN dept d
ON e.deptno = d.deptno
) a LEFT OUTER JOIN
(
SELECT e.deptno, avg(sal) avg_sal
FROM emp e inner JOIN dept d
ON e.deptno = d.deptno
GROUP BY e.deptno
) b
ON a.deptno =b.deptno
WHERE a.sal > b.avg_sal;
--문제3. 부서번호, 부서번호별 토탈월급을 출력하는데 다음과 같이 가로로 출력하시오
SELECT
SUM(CASE WHEN d.deptno = 10 THEN sal END) AS "10",
SUM(CASE WHEN d.deptno = 20 THEN sal END) AS "20",
SUM(CASE WHEN d.deptno = 30 THEN sal END) AS "30"
FROM emp e
JOIN dept d
ON e.deptno = d.deptno;