• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

leetcode 196번

21.07.27 15:50 작성 조회수 125

1

리트코드 196번 delete 쓰는 문제 질문있습니다.

delete문 where 절 안에 있는 

SELECT sub.min_id

FROM (

    SELECT Email, MIN(Id) AS min_id

    FROM Person

    GROUP BY Email

    ) sub

이것만 돌렸을 때 왜 id, email이 전부 출력되는 건지 궁금합니다. 셀렉트 문에 sub.min_id 가 적혀 있으면 sub 테이블에서 Email로 그룹 지었을 때 id가 가장 적은 것들을 보여줘야 하지 않나요?

답변 1

답변을 작성해보세요.

0

안녕하세요!

https://leetcode.com/problems/delete-duplicate-emails/solution/130118

로 가시면 Bayesic 의 질문이 인정님과 같은 질문인데요.

DELETE를 사용해서 풀 것을 요구하고있기 때문에 'Output'에 보여주는 결과는 SELECT의 결과물이 아니라 쿼리 실행 이후 Person 원본 테이블을 보여줍니다. 이전에 SELECT 로 데이터를 추출하여 푸는 문제들이 SELECT 의 결과물을 보여주는 것과 약간 다르죠ㅎㅎ 이 부분에 대한 문제의 설명이 부족해서 혼선이 있는 것 같습니다.

SELECT statement는 테이블을 변형하지 못하기 때문에 쿼리 실행 이후와 이전 테이블이 변함없이 동일하겠죠 :)

좋은 질문 주셔서 감사합니다.