inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터 분석 SQL Fundamentals

집합 레벨 관련 질문 입니다

316

승훈

작성한 질문수 1

0

강의중 1:M 조인시 결과집합은 M의 집합레벨을 그대로 유지한다는 말이 이해가 안되서

검색해 보았는데요

 

즉 집합의 레벨 변경이라고 설명드리는 부분은 해당 집합의 유일성이 최초에는 특정 컬럼(주로 pk 컬럼 또는 조인 연결컬럼)으로 어떻게 되어 있고, 이들 집합이 연산(조인, group by, 기타 데이터 연결)의 수행 결과 어떻게 유일성이 변화되는지를 의미하는 것입니다.

라는 답변을 달아주신걸 봤습니다.

 

EMP DEPT를 조인했을시 EMP와 DEPT가 M:1관계이기 때문에

EMP의 집합레벨 즉 EMPNO를 PK로 하는 집합레벨을 유지한다고 하시는것 같은데요

추가적으로 DEPT_HIST를 조인했을때는 EMP,DEPT와 HIST 테이블이 1:M 이고

EMPNO,DEPTNO,FROMDATE를 PK로 하는 집합레벨을 유지한다는 뜻인가요?

아니라면 EMP,DEPT중 어느 테이블과의 관계를 따져 집합레벨을 결정하게 되는지 알려주시면 감사하겠습니다.

 

sql postgresql DBMS/RDBMS

답변 1

0

권 철민

안녕하십니까,

EMP DEPT를 조인했을시 EMP와 DEPT가 M:1관계이기 때문에

EMP의 집합레벨 즉 EMPNO를 PK로 하는 집합레벨을 유지한다고 하시는것 같은데요

=> 네 맞습니다.

그리고,

조인 키 컬럼으로 1: M 관계가 되는 테이블들의 조인시 조인 결과는 M이 되는 집합 레벨을 그대로 유지합니다.

그래서 EMP->EMP_DEPT_HIST->DETP를 조인한다고 하면 먼저 EMP->EMP_DEPT 를 조인하면 조인키인 EMPNO로 1:M 이기 때문에 조인 결과는 EMP_DEPT와 동일한 집합레벨을 유지합니다. 이 조인 결과와(즉 EMP_DEPT_HIST와 동일한 집합레벨인) DEPT를 조인키인 DEPTNO로 조인하면 M:1 이기 때문에 최종 조인 결과 역시 EMP_DEPT_HIST와 동일한 집합 레벨이 만들어지게 됩니다.

만약 DEPT->EMP->EMP_DETP_HIST 순으로 조인하더라도 결과는 마찬가지 입니다.

DEPT->EMP는 조인키인 DEPTNO로 1:M이므로 조인 결과는 EMP 집합레벨과 동일하며, 다시 이 조인 결과를 EMP_DEPT_HIST와 조인하면 조인키인 EMPNO로 1:M이 되므로 최종 조인 결과는 EMP_DEPT_HIST와 동일한 집합 레벨이 됩니다.

감사합니다.

'레벨 유지'의 의미에 대한 질문

0

49

2

date_part

0

54

2

lag/lead offset 관련 질문

0

54

2

join 관련 질문 (inner join, left join)

1

97

2

배치에서 full outer join을 쓴다고 하셨는데 예시를 알 수 있을까요?

0

88

2

Madrid에 살고 있는 고객이 주문한 주문 정보를 구할것. 실습 질문드립니다

0

51

2

rollup시 null값 매출 라벨링

0

52

2

10. 조인 실습 - 02 관련 질문

0

58

1

조인실습03 - join의 pk-fk join

0

106

2

조인실습03 - join의 pk-fk join

0

67

2

(공유)맥, 스키마 import

0

81

2

sql 입문자인데, 이 강의와 sql 코딩테스트와 연관이 있을까요?

0

136

2

1인지 M인지는 결국엔 테이블을 직접 확인을 해야 하는걸까요?

0

130

2

안녕하세요. 튜닝핵심가이드강의 관련해서 여쭤보고 싶어서 남깁니다.

0

89

1

섹션5 Group by 실습-01 강의 예제 질문

0

115

2

섹션2 조인 기반 메커니즘에서 조인 실습 - 04 강의 예제 질문

0

122

2

섹션2 조인 실습 01 강의 질문

0

132

2

lead lag 이해 강의에서 윈도우 절은 사용되지 않습니다.

0

124

1

Dbeaver오류

0

628

2

직원 별 가장 높은 매출

0

117

1

강의순서대로 실습코드순알려주세요.

0

132

1

m:n inner join일 경우 cross조인과 동일하게 동작되는건가요?

0

127

1

rollup

0

88

2

Dbeaver에 접속해도 postgressql이 네비게이터에 안보입니다.

0

352

2