>데이터 베이스 >MySQL 튜토리얼 >다른 테이블의 값으로 MySQL 열을 업데이트하는 방법은 무엇입니까?

다른 테이블의 값으로 MySQL 열을 업데이트하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-17 04:51:09498검색

How to Update a MySQL Column with Values from Another Table?

MySQL 데이터베이스: 다른 테이블의 값을 사용하여 열 업데이트

이 문서의 목표는 일치하는 이름을 기반으로 "tableB"의 "value" 열을 "tableA"의 해당 값으로 채우는 것입니다.

UPDATE 문 구문:

"tableB"의 "value" 열을 업데이트하려면 다음 UPDATE 문을 사용할 수 있습니다.

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

지침:

  • 내부 SELECT 쿼리는 일치하는 "이름"을 기반으로 "tableA"에서 해당 "값"을 찾습니다.
  • 외부 UPDATE 문은 "tableB"의 "value" 열을 찾은 값으로 업데이트합니다.
  • 외부 UPDATE 문의 WHERE 절은 일치하는 레코드만 업데이트되도록 합니다.

예:

샘플 데이터 사용:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

이 명령문을 실행하면 "tableB.value"가 다음과 같이 업데이트됩니다.

<code>id  name  value
===================
1   Joe     22
2   Derk    30</code>

기타 옵션:

  • 특정 행만 업데이트하려면 WHERE 절에 조건을 추가하면 됩니다.
  • "tableA.value"를 기반으로 "tableB.value"를 동적으로 업데이트하려면 예제와 같이 SET 절에 IF 문을 사용하면 됩니다.

위 내용은 다른 테이블의 값으로 MySQL 열을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.