DB/postgreSQL

postgreSQL UPDATE, DELETE 조인 사용법

devmean 2025. 4. 1. 14:37

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를 기준으로 조인합니다.

 

주의사항

  1. 조인 조건을 정확히 설정
    UPDATE와 DELETE에서 조인 조건을 잘못 설정하면 원하지 않는 데이터가 수정되거나 삭제될 수 있습니다. 항상 정확한 조건을 확인하세요.
  2. 트랜잭션 사용 권장
    여러 레코드를 수정하거나 삭제할 때는 트랜잭션을 사용하여 롤백 가능하도록 하는 것이 좋습니다. 
  3. 데이터 백업
    중요한 데이터를 수정하거나 삭제하기 전에 반드시 백업을 받아두세요. 실수로 데이터를 손실할 위험이 있습니다.
  4. DELETE는 되돌릴 수 없음
    DELETE 문은 한번 실행하면 데이터를 복구하기 어렵습니다. 삭제 전, 삭제할 데이터가 맞는지 확인하세요.
반응형

'DB > postgreSQL' 카테고리의 다른 글

postgreSQL merge문 사용하기  (0) 2025.03.28
postgreSQL 임시테이블 생성  (0) 2025.03.28