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열 | |
---|---|---|---|
1 | 1 | 열하나 | 첫 번째 |
2 | 열하나 | 12 | 두번째 |
삼 | 이십 일 | 13 | 제삼 |
4 | 31 | 14 | 네번째 |
1열 | 2열 | 3열 | |
---|---|---|---|
1 | 1 | 이십 일 | 2-1 |
2 | 열하나 | 22 | 2-2 |
삼 | 이십 일 | 23 | 2-3 |
4 | 31 | 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열 | |
---|---|---|---|
1 | 1 | 열하나 | 첫 번째 |
2 | 열하나 | 12 | 두번째 |
삼 | 이십 일 | 23 | 2-3 |
4 | 31 | 24 | 2-4 |
1열 | 2열 | 3열 | |
---|---|---|---|
1 | 1 | 이십 일 | 첫 번째 |
2 | 열하나 | 22 | 두번째 |
삼 | 이십 일 | 23 | 2-3 |
4 | 31 | 24 | 2-4 |
여기서는 업데이트 문에서 Join 절을 사용하는 것을 볼 수 있습니다. Join 절을 사용하여 두 테이블을 병합했습니다.