MariaDB SQL
MariaDB JOIN을 통한 UPDATE 실행
Hwarang.pop
2024. 1. 3. 12:05
728x90
320x100
JOIN을 통한 UPDATE 실행
여러개의 테이블을 JOIN을 사용하여 UPDATE 해야할 경우가 있다.
SELECT 할 때 처럼 JOIN 후 UPDATE 해주면 된다.
UPDATE TABLE1 SET TABLE1.컬럼1 = 변경값 WHERE 절
UPDATE 의 경우, 테이블에 대한 정의가 먼저 나오므로, JOIN이 SET 보다 먼저 이루어지면 된다.
TABLE1 이 "국가와 언어 그리고 해당 지역들"을 나타내는 곳이라고 하자.
그런데 현재 지역들 컬럼은 NULL 이고,
이 지역들 값을 다른 테이블과 JOIN하여 값을 변경해야 한다면,
TABLE2 는 "국가와 지역"을 나타낸다면
TABLE1 은 TABLE2 과 "국가"컬럼을 JOIN 하여 지역들 값을 UPDATE 할 수 있다.
먼저 TABLE2를 국가별 지역들로 만들어 보자.
SELECT
국가, GROUP_CONCAT(지역) AS 지역들
FROM TABLE2
GROUP BY 국가
TABLE1 을 X라 하고, 위의 조합을 Y 라 하면 아래와 같이 UPDATE 문을 작성하면 된다.
UPDATE TABLE1 X
INNER JOIN
(
SELECT
국가, GROUP_CONCAT(지역) AS 지역들
FROM TABLE2
GROUP BY 국가
) Y ON Y.국가 = X.국가
SET X.지역들 = Y.지역들
728x90
반응형