삶 가운데 남긴 기록 AACII.TISTORY.COM
SQL 다른 테이블의 내용으로 여러 행 업데이트, 삭제 본문
특정 테이블의 내용으로 테이블을 업데이트할 때가 있습니다.
이럴 때 join 을 이용하여 update 할 수 있습니다.
UPDATE 업데이트할테이블명 AS A
INNER JOIN 데이터를가져올테이블명 AS B
ON A.조인키 = B.조인키
SET A.업데이트할컬럼 = B.가져올데이터컬럼
WHERE 절
예제) 테이블(TBL__WRK)에 수정 일자(MODDATE)가 null 인 행들만 등록일자(REGDATE)로 업데이트
UPDATE TBL_WRK AS A
INNER JOIN TBL_WRK AS B
ON A.WRKID = B.WRKID
SET A.MODDATE = B.REGDATE
WHERE A.MODDATE IS NULL
테이블 내용을 기초로 DELETE 할 때는 조금 다릅니다.
DELETE
FROM TBL1 USING TBL_TEST1 AS TBL1
INNER JOIN TBL_TEST2 AS TBL2
WHERE TBL1.id=TBL2.id
728x90
'DEV&OPS > Database' 카테고리의 다른 글
MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량 (0) | 2022.04.20 |
---|---|
관계형 데이터베이스를 정규화해봅시다. (0) | 2022.02.25 |
MYSQL 날짜 비교 (0) | 2021.10.07 |
MySQL 권한 부여/회수 (0) | 2021.08.26 |
MySQL 이벤트 스케줄러 (0) | 2021.08.24 |