일치하는 사용자 이름을 기반으로 SQL 테이블 업데이트: 효율적인 접근 방식
두 개의 SQL 테이블 table_a
과 table_b
이 있고 둘 다 user_name
열을 포함하고 있다고 가정해 보겠습니다. 목표는 사용자 이름이 일치하는 행에 대해서만 table_b
의 특정 열에서 table_a
의 해당 열로 데이터를 복사하는 것입니다.
최적화된 SQL 쿼리
이러한 데이터 전송을 달성하기 위한 효과적인 SQL 문은 다음과 같습니다.
<code class="language-sql">UPDATE table_a SET column_a_1 = (SELECT table_b.column_b_1 FROM table_b WHERE table_b.user_name = table_a.user_name), column_a_2 = (SELECT table_b.column_b_2 FROM table_b WHERE table_b.user_name = table_a.user_name) WHERE EXISTS (SELECT 1 FROM table_b WHERE table_b.user_name = table_a.user_name);</code>
이 쿼리는 다음과 같이 작동합니다.
column_a_1
에 있는 table_a
의 값으로 column_b_1
의 table_b
을 업데이트하고 user_name
을 기준으로 일치하는 행을 업데이트합니다.column_a_2
의 table_a
에 해당하는 값을 사용하여 column_b_2
의 table_b
을 동시에 업데이트합니다.EXISTS
절은 두 테이블 모두에 있는 user_name
항목에 대해서만 업데이트가 발생하도록 보장하여 오류를 방지합니다.최적의 성능을 위해서는 user_name
및 table_a
의 table_b
열에 인덱스가 있는지 확인하세요. 이 인덱싱은 쿼리 속도와 효율성을 크게 향상시킵니다.
위 내용은 일치하는 사용자 이름을 기반으로 SQL 테이블 간에 데이터를 효율적으로 복사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!