• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

Self primary key를 이용한 delete 질문

23.02.09 09:10 작성 조회수 194

0


Screenshot_20230209_085816_Chrome.jpg

Where p1.id > p2.id

조건을 delete하는 의미는

p1.id 3, p2.id 1 인 경우만 delete 되어야 하는데,

p1.id 1, p2.id 3 / p1.id 3, p2.id 3 은 왜 delete가 되나요?

답변 1

답변을 작성해보세요.

0

p1과 p2는 사실 동일한 Person 테이블이고 이 테이블에서 어떤 데이터를 지우는 것이 목적인데,
지울 데이터를 골라내기 위한 조건을 만들어야해서 p1, p2로 이름 붙여 self join을 한 것입니다.
email이 같은 것끼리 붙여 p1.id > p2.id 인 것을 p1에서 지우는 것이므로 id=3인 데이터가 지워지고요.
output으로는 데이터가 지워지고 난 후의 p1(Person)이 반환되는데,
올려주신 화면에서와 같이 id=1과 id=2가 남아 있는 것을 확인할 수 있습니다.