개발 공부

SQL -DML(UPDATE) 본문

DataBase/ORACLE_SQL

SQL -DML(UPDATE)

규율 위에 자유 2023. 7. 11. 13:32

<UPDATE>
테이블에 기록되어 있는 기존의 데이터를 수정하는 구문

 

주의할점

UPDATE 시에도 해당 컬럼에 대한 제약조건 위배되면 안됨
     
[표현식 1]
UPDATE 테이블명 
SET 컬럼명 = 바꿀값,
        컬럼명 = 바꿀값,
        컬럼명 = 바꿀값,  -->여러개의 컬럼값 동시변경 가능(,로 나열해야한다.)

[WHERE 조건];            -->생략하면 모든 데이터가 변경된다     

 

 

실습1)
D9부서의 부서명을 '경영지원팀' 으로 변경해라

 

샘플테이플 생성

기존

UPDATE문 작성

 

UPDATE DEPRATMENT_COPY3

SET DEPT_TITLE = '경영지원팀'

WHERE DEFT_ID = 'D9'

변경후

 

[표현식 2]
UPDATE시 서브쿼리를 사용 가능 

 

2-1) 단일행 서브쿼리


UPDATE 테이블명
SET 컬럼명 = 서브쿼리

WHERE 조건;

 

 

실습2) 선동일 사원의 급여와 보너스값을 유재식 사원의 급여와 보너스 값으로 변경

 

쿼리문

UPDATE EMP_SALARY2
SET SALARY = (SELECT SALARY FROM EMP_SALARY2 WHERE EMP_NAME = '유재식'),
        BONUS = (SELECT BONUS FROM EMP_SALARY2 WHERE EMP_NAME = '유재식')
WHERE EMP_NAME = '선동일';

 

 

샘플 테이블 생성

 

 

 

 

2-2) 다중행 서브쿼리

 

실습3) 선동일 사원의 급여,보너스를 송은희 사원의 급여 보너스값 으로변경

 

쿼리문

 

UPDATE EMP_SALARY2
SET (SALARY,BONUS) = (SELECT SALARY,BONUS FROM EMP_SALARY2 WHERE EMP_NAME = '송은희') 
WHERE EMP_NAME = '선동일';

 

 

 

변경된 값 확인

 

 

 

 

'DataBase > ORACLE_SQL' 카테고리의 다른 글

SQL - DCL (GRANT / REVOKE )  (0) 2023.07.14
SQL -DML(DELETE)  (0) 2023.07.11
SQL - DML (INSERT)  (0) 2023.07.05
SQL - DDL (CREATE / ALTER / DROP)  (0) 2023.07.04
SQL - <DDL / DML / DCL >  (0) 2023.07.04