logo

JOIN을 사용한 SQL 업데이트

SQL 업데이트 조인 이는 다른 테이블과 조인 조건을 사용하여 한 테이블을 업데이트한다는 의미입니다.

고객 테이블의 예를 들어보겠습니다. 다른 소스 시스템의 최신 고객 세부 정보가 포함된 고객 테이블을 업데이트했습니다. 최신 데이터로 고객 테이블을 업데이트하고 싶습니다. 이 경우 고객 ID에 대한 조인을 사용하여 대상 테이블과 소스 테이블 간의 조인을 수행하겠습니다.

보자 통사론 JOIN 문을 사용한 SQL UPDATE 쿼리.

 UPDATE customer_table INNER JOIN Customer_table ON customer_table.rel_cust_name = customer_table.cust_id SET customer_table.rel_cust_name = customer_table.cust_name 

JOIN을 사용하여 SQL UPDATE 문에서 여러 테이블을 사용하는 방법

테이블 1과 테이블 2라는 두 개의 테이블을 사용하겠습니다.

테이블1 생성

 CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table1 (col1, col2, col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH' 

테이블2 생성

 CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table2 (col1, col2, col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11, 22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR' 

이제 표의 내용을 확인해 보세요.

 SELECT * FROM table_1 
 SELECT * FROM table_2 
1열2열3열
11열하나첫 번째
2열하나12두번째
이십 일 13 제삼
431 14 네번째

1열2열3열
11이십 일2-1
2열하나222-2
이십 일 23 2-3
431 24 2-4

우리의 요구 사항은 Col 1이 21과 31인 두 개의 행이 있는 테이블 2가 있다는 것입니다. Col 1이 21과 31인 행에 대해 테이블 ​​2의 값을 테이블 1로 업데이트하려고 합니다.

Col 2와 Col 3의 값만 업데이트하려고 합니다.

가장 쉽고 일반적인 방법은 업데이트 문에 조인 절을 사용하고 업데이트 문에 여러 테이블을 사용하는 것입니다.

 UPDATE table 1 SET Col 2 = t2.Col2, Col 3 = t2.Col3 FROM table1 t1 INNER JOIN table 2 t2 ON t1.Col1 = t2.col1 WHERE t1.Col1 IN (21,31) 

테이블의 내용을 확인하세요.

테이블 1에서 선택

표 2에서 선택

1열2열3열
11열하나첫 번째
2열하나12두번째
이십 일 23 2-3
431 24 2-4

1열2열3열
11이십 일첫 번째
2열하나22두번째
이십 일 23 2-3
431 24 2-4

여기서는 업데이트 문에서 Join 절을 사용하는 것을 볼 수 있습니다. Join 절을 사용하여 두 테이블을 병합했습니다.