테이블에 기록된 데이터를 수정하는 구문으로 테이블의 전체 행 개수에는 변화가 없음
UPDATE 테이블명
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 ('유재식','방명수');