💾DB
[PostgreSQL] UPDATE/DELETE JOIN
이줭
2022. 1. 24. 21:37
728x90
PostgreSQL에서 UPDATE 시 다른 테이블의 내용을 참조하여야 할 때 다음과 같이 사용 가능하다.
UPDATE product
SET "Amount" = 1
FROM material m, worker w
WHERE m.id = product."Material_id"
AND w.id = product."Worker_id"
AND m."Code" = 'test'
AND w."Name" = '홍길동'
INNER JOIN과 LEFT JOIN 구문 사용할 수 없고, 위와 같은 방식으로 from절에 테이블들을 나열하여 사용한다. UPDATE의 target이 되는 테이블은 from절에 들어가지 않는다는 것을 유의하자!
DELETE문에서 JOIN을 사용해야 할 때, 다음과 같이 사용한다.
DELETE
FROM AAA AS a
USING BBB AS b, CCC AS c
WHERE a.col1 = b.col1
AND a.col2 = b.col2
728x90