두개의 테이블을 비교하여, 대상 테이블에 없다면 이쪽 테이블에서도 삭제한다.
JOIN 을 사용하는 방법
DELETE b FROM BLOB b
LEFT JOIN FILES f ON f.id = b.fileid
WHERE f.id IS NULL
NOT EXISTS 를 사용하는 방법
DELETE FROM BLOB
WHERE NOT EXISTS(SELECT NULL
FROM FILES f
WHERE f.id = fileid)
NOT IN 을 사용하는 방법
DELETE FROM BLOB
WHERE fileid NOT IN (SELECT f.id
FROM FILES f)
Note
아래는 있으면 UPDATE 없으면 INSERT 하는 방법.
'코딩 > SQL_Query' 카테고리의 다른 글
MySQL 10년치 날짜 데이터 생성 (1) | 2024.01.26 |
---|---|
MySQL / JS / PHP - ROUND, 반올림, 부가세, 천 단위 (0) | 2023.08.30 |
MySQL 숫자만 영문만 한글만 추출 (0) | 2023.06.30 |
[MySQL] MAX(), MIN() 함수 사용 시 조건 추가 (0) | 2023.06.29 |
[MSSQL] CONVERT 시 DATETIME FORMAT 지정 (LIKE) (0) | 2023.05.19 |