[SQL] 088. 서브 쿼리를 사용하여 데이터 합치기
Updated:
초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.
오라클 SQL을 기반으로 합니다.
실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.
[예시]
이번 챕터에선 서브 쿼리를 이용해 데이터를 합쳐본다.
MERGE
에서 USING
에 서브 쿼리를 사용한다.
서브 쿼리로 EMP 테이블의 부서별 월급 합계를 사용한다.
조인 성공 시 업데이트 한다.
-- 기본 옵션으로 사용
-- AUTOCOMMIT 끄기
SET AUTOCOMMIT OFF;
-- 날짜 출력 포맷 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD';
-- 사전 작업
ALTER TABLE DEPT
ADD 월급합계 NUMBER(10);
-- MERGE
MERGE INTO DEPT K1
USING (SELECT DEPTNO, SUM(SAL) AS 월급합계
FROM EMP
GROUP BY DEPTNO) K2
ON (K1.DEPTNO = K2.DEPTNO)
WHEN MATCHED THEN
UPDATE SET K1.월급합계 = K2.월급합계;
-- 테이블 확인
SELECT *
FROM DEPT;
[결과]
DEPTNO | DNAME | LOC | 월급합계 |
---|---|---|---|
10 | ACCOUNTING | NEW YORK | 8750 |
20 | RESEARCH | DALLAS | 10875 |
30 | SALES | CHICAGO | 9400 |
40 | OPERATIONS | BOSTON |
Leave a comment