1)
SAL이 2000초과인 사원들의
부서 정보, 사원 정보를 오른쪽과 같이 출력하세요
답
SELECT E.DEPTNO, D.DNAME, E.EMPNO, E.SAL
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.SAL>2000
;
결과
2)
각 부서별 평균 급여, 최대 급여, 사원 수를 출력하세요
답
SELECT D.DEPTNO, D.DNAME, MAX(E.SAL), SUM(E.SAL), TRUNC(AVG(E.SAL)),COUNT(*)
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
GROUP BY D.DEPTNO, D.DNAME
;
배운 거 대로 하면 이렇게 쓰는 게 맞는데
아빠한테 물어보니까 밑에처럼 써줌
SELECT D.DEPTNO, MAX(D.DNAME) AS DNAME, MAX(E.SAL), SUM(E.SAL), TRUNC(AVG(E.SAL)),COUNT(*)
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
GROUP BY D.DEPTNO
;
이것도 답이 맞긴 하다
GROUP BY로 D.NAME을 안 묶어줬으니까 저렇게 MAX(D.DNAME)으로 감싸면 출력된다고 하길래
왜 그러는 거야??했더니 아빠도 모른댄다 그냥 하면 된다고...;;;;;
어쨌든 결과
3)
모든 부서 정보, 사원 정보를 오른쪽과 같이
부서번호, 사원 이름 순으로 정렬하여 출력해보세요
SELECT D.DEPTNO, D.DNAME, E.EMPNO, E.JOB, E.SAL
FROM EMP E, DEPT D
WHERE E.DEPTNO(+) = D.DEPTNO
ORDER BY E.DEPTNO, D.DNAME;
결과
D.DEPTNO을 기준으로 아우터 조인(??) 해줘야
NULL이어도 출력이 된다
728x90
'문제를 풀어보자' 카테고리의 다른 글
ORACLE) Do it! 오라클 10강 연습문제 (0) | 2022.10.23 |
---|---|
ORACLE) Do it! 오라클 9강 연습문제 (0) | 2022.10.21 |
ORACLE) Do it! 오라클 6강 연습문제 (0) | 2022.10.20 |
JAVA) 자바의 정석 기초편 11-4 연습 문제(Comparator 정렬) (0) | 2022.10.14 |
JAVA) 자바의 정석 기초편 11-3 연습 문제(Comparable 정렬) (1) | 2022.10.13 |