1. UPDATE 문과 조인
UPDATE emp
SET salary = dept.avg_salary
FROM dept
WHERE emp.dept_id = dept.dept_id;
- emp 테이블의 salary 값을 dept 테이블의 avg_salary 값으로 업데이트합니다.
- 두 테이블은 dept_id를 기준으로 조인합니다.
2. DELETE 문과 조인
DELETE FROM emp
USING dept
WHERE emp.dept_id = dept.dept_id
AND dept.status = 'closed';
- dept 테이블에서 status가 'closed'인 부서에 속한 직원을 emp 테이블에서 삭제합니다.
- 두 테이블은 dept_id를 기준으로 조인합니다.
주의사항
- 조인 조건을 정확히 설정
UPDATE와 DELETE에서 조인 조건을 잘못 설정하면 원하지 않는 데이터가 수정되거나 삭제될 수 있습니다. 항상 정확한 조건을 확인하세요. - 트랜잭션 사용 권장
여러 레코드를 수정하거나 삭제할 때는 트랜잭션을 사용하여 롤백 가능하도록 하는 것이 좋습니다. - 데이터 백업
중요한 데이터를 수정하거나 삭제하기 전에 반드시 백업을 받아두세요. 실수로 데이터를 손실할 위험이 있습니다. - DELETE는 되돌릴 수 없음
DELETE 문은 한번 실행하면 데이터를 복구하기 어렵습니다. 삭제 전, 삭제할 데이터가 맞는지 확인하세요.
반응형
'DB > postgreSQL' 카테고리의 다른 글
postgreSQL merge문 사용하기 (0) | 2025.03.28 |
---|---|
postgreSQL 임시테이블 생성 (0) | 2025.03.28 |