MariaDB SQL

MariaDB JOIN을 통한 UPDATE 실행

ssamhago 2024. 1. 3. 12:05
728x90
320x100

UPDATE

 

 

JOIN을 통한 UPDATE 실행

 

 

여러개의 테이블을 JOIN을 사용하여 UPDATE 해야할 경우가 있다. 

 

SELECT 할 때 처럼 JOIN 후 UPDATE 해주면 된다.

 

UPDATE TABLE1 SET TABLE1.컬럼1 = 변경값 WHERE

UPDATE 의 경우, 테이블에 대한 정의가 먼저 나오므로, JOIN이 SET 보다 먼저 이루어지면 된다.

 

 

TABLE1 이 "국가와 언어 그리고 해당 지역들"을 나타내는 곳이라고 하자.
그런데 현재 지역들 컬럼은 NULL 이고,

지역들 값을 다른 테이블과 JOIN하여 값을 변경해야 한다면,

TABLE1

 

TABLE2 는 "국가와 지역"을 나타낸다면

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.지역들

TABLE1

 

728x90
반응형