[MySQL]JOIN을 이용한 여러 테이블 DELETE

서로 연관이 있는 테이블의 row를 삭제하는 경우가 있는데, 아래의 예제 코드를 사용하면 단지 하나의 쿼리만으로 수행이 가능하다.

DELETE u, up, upc, ut, utp
FROM users AS u
LEFT JOIN users_photos AS up ON up.user_id = u.id
LEFT JOIN users_photos_comments AS upc ON upc.photo_id = up.id
LEFT JOIN users_topics AS ut ON ut.user_id = u.id
LEFT JOIN users_topic_posts AS utp ON utp.topic_id = ut.id
WHERE u.id = 12