일치하는 사용자 이름을 기반으로 테이블의 행 값 업데이트
Q: 테이블 값 업데이트
SQL 데이터베이스에는 table_a와 table_b라는 두 개의 테이블이 있으며, 두 테이블 모두 user_name이라는 공통 열을 가지고 있습니다. 일치하는 user_name 값을 기반으로 table_b의 특정 열(column_b_1 및column_b_2)을 table_a의 해당 열(column_a_1 및column_a_2)에 복사하려고 합니다. SQL 문을 사용하여 이를 어떻게 달성할 수 있습니까?
정답: 해결 방법
적절한 인덱스가 있으면 다음 UPDATE 문을 사용할 수 있습니다.
<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 * FROM table_b WHERE table_b.user_name = table_a.user_name );</code>
참고: 이 UPDATE 문은 하위 쿼리를 사용하여 user_name이 일치하는 table_a의 각 행에 해당하는 table_b에서 열 값을 검색합니다. .
성능이 중요하다면 SELECT 및 JOIN 작업을 사용하여 수정된 행을 저장할 임시 테이블을 구축하는 것을 고려해 보세요. 그런 다음 table_a에서 기존 데이터를 삭제하고 임시 테이블에서 다시 채울 수 있습니다.
위 내용은 일치하는 사용자 이름을 기반으로 SQL 테이블 행을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!