[SQL] 086. 서브 쿼리를 사용하여 데이터 수정하기

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[예시]

이번 챕터에선 서브 쿼리를 이용해 데이터를 수정해본다.

UPDATE에서 SET에 서브 쿼리를 사용한다.

SCOTT의 SAL(월급), COMM(커미션)을 ALLEN의 값으로 수정한다.

-- 기본 옵션으로 사용
-- AUTOCOMMIT 끄기
SET AUTOCOMMIT OFF;

-- 날짜 출력 포맷 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD';
-- SCOTT의 월급, 커미션을 ALLEN의 값으로 수정
UPDATE EMP
SET (SAL, COMM) = (SELECT SAL, COMM FROM EMP WHERE ENAME = 'ALLEN')
WHERE ENAME = 'SCOTT';

-- 테이블 확인
SELECT *
FROM EMP;

[결과]

SCOTT의 SAL(월급), COMM(커미션)이 ALLEN과 동일하게 수정되었다.

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7839 KING PRESIDENT   1981-11-17 5000   10
7698 BLAKE MANAGER 7839 1981-05-01 2850   30
7782 CLARK MANAGER 7839 1981-05-09 2450   10
7566 JONES MANAGER 7839 1981-04-01 2975   20
7654 MARTIN SALESMAN 7698 1981-09-10 1250 1400 30
7499 ALLEN SALESMAN 7698 1981-02-11 1600 300 30
7844 TURNER SALESMAN 7698 1981-08-21 1500 0 30
7900 JAMES CLERK 7698 1981-12-11 950   30
7521 WARD SALESMAN 7698 1981-02-23 1250 500 30
7902 FORD ANALYST 7566 1981-12-11 3000   20
7369 SMITH CLERK 7902 1980-12-11 800   20
7788 SCOTT ANALYST 7566 1982-12-22 1600 300 20
7876 ADAMS CLERK 7788 1983-01-15 1100   20
7934 MILLER CLERK 7782 1982-01-11 1300   10

Tags:

Categories:

Updated:

Leave a comment