[SQL] UPDATE

지미미·2023년 4월 20일
0

Oracle SQL Developer

목록 보기
6/15
post-thumbnail

UPDATE

테이블에 기록된 데이터를 수정하는 구문으로 테이블의 전체 행 개수에는 변화가 없음

 UPDATE 테이블명
        SET 컬럼명 = 변경할 값,
            컬럼명 = 변경할 값,
            ...
        [WHERE 조건];
  • SET절에서 여러 개의 컬럼을 콤마(,)로 나열해서 값을 동시에 변경할 수 있다.
  • WHERE절을 생략하면 모든 행의 데이터가 변경된다.
-- 연습문제
-- 방명수 사원의 급여와 보너스를
-- 유재식 사원과 동일하게 변경
--      1) 유재식 사원의 급여와 보너스를 조회
SELECT SALARY, BONUS
FROM EMP_SALARY
WHERE EMP_NAME = '유재식';

--      2) 단일행 서브쿼리를 각각의 컬럼에 적용
UPDATE EMP_SALARY
SET SALARY = (SELECT SALARY FROM EMP_SALARY WHERE EMP_NAME = '유재식')
    , BONUS = (SELECT BONUS FROM EMP_SALARY WHERE EMP_NAME = '유재식')
WHERE  EMP_NAME = '방명수'
;

--      3) 다중열 서브쿼리를 사용하여 한번에 적용
UPDATE EMP_SALARY
--FROM EMP_SALARY
SET (SALARY, BONUS) = (SELECT SALARY, BONUS FROM EMP_SALARY WHERE EMP_NAME = '유재식')
WHERE EMP_NAME = '방명수'
;

SELECT * FROM EMP_SALARY WHERE EMP_NAME IN ('유재식','방명수');
profile
블루라이트로 광합성 하는 새럼

0개의 댓글