https://leetcode.com/problems/delete-duplicate-emails/
위 문제를 풀고 DELETE 구문에 대해 정리하고자 함.
DELETE FROM 테이블 이름 WHERE 조건
DELETE p1 FROM PERSON p1, PERSON p2
WHERE p1.email = p2.email and p1.id > p2.id
;
위와 같이 뷰가 두 개 이상 있는 경우 어떤 테이블을 삭제할지 결정해줘야 함.
다른 풀이
DELETE FROM Person
WHERE id NOT IN (SELECT MIN(id) FROM Person
GROUP BY email);
뭔가 아직 (NOT IN , IN) + 서브쿼리가 바로 떠오르지가 않는다.
'Database > MySQL' 카테고리의 다른 글
[MySQL] 사칙연산 + 형 변환 (0) | 2022.04.03 |
---|---|
[MySQL] DATE 타입으로 변경 DATE_FORMAT (0) | 2022.04.02 |
[MySQL] 그룹별 상위 N 개 (0) | 2022.03.31 |
[MySQL] rank함수 - 랭킹 (0) | 2022.03.31 |
[MySQL] 변수 처리(local variable vs. user variable) (0) | 2022.03.31 |
댓글