0. 문제 공통 조건
해당 테이블을 이용해서 소속 부서의 평균보다 급여가 높은 직원들을 출력하는 쿼리를 작성할 것
1. from을 활용하는 상호 연관 중첩 서브쿼리 (correlated nested subquery)
1. subquery
(SELECT 부서명, AVG(월급) 부서평균월급
FROM 직원
GROUP BY 부서명) A
서브쿼리에서는
직원 테이블에서 각 부서의 월급의 평균을 계산하고
부서명을 기준으로 그룹화해서 새로운 결고 테이블을 생선하다
부서 평균 원급 이라는 명칭의 열을 추가해서 결과를 보여두록한다
2. main and sub
SELECT 사번, 월급, 부서명
FROM 직원 NATURAL JOIN
(SELECT 부서명, AVG(월급) 부서평균월급
FROM 직원
GROUP BY 부서명) A
WHERE 월급 > 부서평균월급;
기존의 직원 테이블과 서브쿼리로 새로 형성한 부서 평균 월급을
결합하는 쿼리
각 부서의 평균 월급을 계산해서 A라는 별칭의 임시 테이블을 얻은 상태
메인 쿼리는 직원 테이블과 각 부서의 평균 월급을 계산한 테이블을
부서명을 기준으로 자연조인으로 결합한다
결합한 후에는 모든 행 중 부서 평균 월급보다 월급이 높은 경우의 행만
결과에 나타날 것이다
'[ Computer Science ] > Database_sql' 카테고리의 다른 글
[Database/MySQL] subquery 활용 연습 (1) where 조건에 중첩 (0) | 2024.11.06 |
---|---|
[Database/MySQL] 기초 쿼리문 연습 (1) | 2024.10.22 |
[Database/midterm] SQL 문법 기초 (11) | 2024.10.19 |
[Database/midterm] 데이터베이스 설계 (개념적, 논리적) (2) | 2024.10.19 |
[Database/MySQL] 실습을 위한 초기 데이터 생성 (4) | 2024.10.17 |
[프로그래머스/MySQL] Lv. 1 평균 일일 대여 요금 구하기 (SELECT) (7) | 2024.10.17 |
[프로그래머스/MySQL] Lv. 1 역순 정렬하기 (SELECT) (0) | 2024.10.17 |