반응형
SQL이 테이블의 값을 다른 테이블에서 바꿉니다.
테이블이 2개 있는데 table1 열의 값 일부를 table2 열의 값으로 바꾸고 싶습니다.
더 잘 설명하자면: ID가 3-9인 행의 table2에서 table1의 name 열까지 값을 입력합니다.
저는 Mysql 워크벤치와 MariaDB에서 일하고 있습니다.
가장 직접적인 접근법은 의 서브쿼리를 사용하는 것입니다.SET
절을 클릭합니다.
UPDATE table1
SET name = (SELECT t2.name
FROM table2 t2
WHERE t2.pid = table1.id)
WHERE id >= 3
AND id <= 9;
@stickybit의 답변은 정상적으로 동작할 수 있지만, JOIN을 사용하는 것이 서브쿼리와 BETWIN보다 효율적이기 때문에 JOIN을 사용하는 대신 구문을 좀 더 심플하게 만들 수 있다고 생각했습니다.
UPDATE table1
JOIN table2
ON table1.id = table2.pid
SET table1.name = table2.name
WHERE table1.id BETWEEN 3 AND 9;
update table1 t1
set t1.name=t2.name from table1 t1 ,table2 t2
where t1.id=t2.id and id between 2 and 10
언급URL : https://stackoverflow.com/questions/50628974/sql-replace-values-in-a-table-from-another-table
반응형
'programing' 카테고리의 다른 글
경고는 많지만 내 프로그램은 정상적으로 작동한다. (0) | 2023.02.02 |
---|---|
jQuery 확인란이 상태 변경 이벤트 선택됨 (0) | 2023.02.02 |
먼저 특정 필드 값으로 정렬 (0) | 2023.02.02 |
jQuery를 사용하여 입력 텍스트 값을 설정하는 방법 (0) | 2023.01.13 |
MySQL JDBC 드라이버 연결 문자열이란 무엇입니까? (0) | 2023.01.13 |