💾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

'💾DB' 카테고리의 다른 글

[PostgreSQL] Extract 함수 (날짜 시간 추출)  (0) 2022.07.06
[PostgreSQL] pgAgent  (0) 2022.06.10
[PostgreSQL] import csv file  (0) 2021.08.25
[PostgreSQL] import csv file with pgAdmin  (0) 2021.08.25
[PostgreSQL] dblink사용하기  (0) 2021.08.25