SQL 8-7. 다른 테이블을 기반으로 행 갱신
관련링크
본문
UPDATE문에 서브 쿼리를 사용하면 다른 테이블의 값을 기반으로 테이블의 행을 갱신할 수 있다.
예제)
오라클 디비 예제 : UPDATE copy_emp
SET department_id = (SELECT department_id
FROM employees
WHERE employee_id = 100)
WHERE job_id = (SELECT job_id
FROM employees
WHERE employee_id = 200);
1 row updated.
☞설명)
UPDATE문에 서브 쿼리를 사용하여 테이블의 행을 갱신할 수 있다.
예제는 EMPLOYEES테이블의 값을 기반으로 COPY_EMP테이블을 갱신하며 사원200과 업무ID가 동일한 모든사원의 부서
번호를 사원100의 현재 부서번호로 변경한다.
형식
DELETE [FROM] table
[WHERE condition];
구문 설명 :
table 테이블 이름입니다.
condition 삭제될 행을 식별하며 열 이름, 표현식, 상수, 서브 쿼리 및 비교 연산자로 구성됩니다.
MSSQL 디비 예제 :
use test -- 테스트를 위해 pubs 디비로 이동하자.
GO
DELETE FROM publishers
WHERE pub_name = 'New Moon Books';
SELECT * FROM publishers
WHERE pub_name = 'New Moon Books'
MSSQL 디비 예제 :
DELETE FROM employee
WHERE emp_id = 'F-C16315M';
DELETE FROM employee WHERE emp_id IN ('AMD15433F', 'CFH28514M');
MSSQL 디비 예제 :
SELECT * FROM copy_emp;
DELETE FROM copy_emp;
SELECT * FROM copy_emp;