join은 1집합과 M집합이 무엇인지를 유의하자

조인 시 데이터 집합 레벨의 변화에 주목해라.

  • 조인은 두 테이블의 크기에 관계없이 서로 ‘동격’인 상태에서 서로 상호간에 데이터를 가져오는 것.
  • 조인 컬럼에서 중요한 것은 M집합 (중복건 존재)와 1집합(unique)을 구분하는 것이다

뭐가 다른데?

  • join 시 M 집합의 경우 데이터가 유지된 채로 그대로 나오지만, 1집합의 경우 데이터가 계속 중복되어 나온다
  • 1집합의 입장에서 본다면 쓸데없이 데이터가 뻥튀기가 된 것. M집합의 입장에서 본다면 데이터가 뻥튀기가 되지 않음.
  • join 시 M집합은 데이터 레벨을 그대로 유지, 1집합은 데이터가 중복.
  • 따라서, 1:M은 Join 시 결국 M이다. 단순하지만 중요한 사실 기억하자.
 Date: April 24, 2022
 Tags:  SQL

Previous:
⏪ 도대체 dynamoDB에서 local secondary index는 언제 사용하는거야?

Next:
러스트의 소유권 ⏩