인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

깁헬프님의 프로필 이미지
깁헬프

작성한 질문수

데이터 분석 SQL Fundamentals

조인 실습 - 02

조인 메커니즘 - 조인실습 02 질문

작성

·

293

0

5분45초 영상입니다.

select

from hr.emp a

join hr.emp_dept_hist b on a.empno = b.empno

join hr.dept c on b.deptno = c.deptno

라고 하셨는데

 

  1. emp_dept_hist테이블에 empno, deptno, fromdate 컬럼 모두 pk인데, 정작 테이블을 보면 empno가 7369라는 값을 2개 가지고 있는데 그러면 중복된 값인데 pk인 이유를 모르겠습니다.

  1.  emp_dept_hist의 deptno도, 현실적으로 영업>마케팅>영업 이런식으로 한개의 부서에 2번이상 있을 수 있으니까 pk가 아니지 않나 궁금합니다. 한번 갔던 부서는 다시는 또 근무할 수 없다 는 전제가 깔린건가요?

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

PK에 대한 이해를 잘못하고 계시는 군요.

  1. PK가 empno, deptno, fromdate라는 의미는 empno + deptno + fromdate 값으로만 유일하다는 의미입니다. 그러니까 empno: 7369, deptno:10, fromdate:10월 5일로 유일한 값, empno:7369, deptno:20, fromdate 12월 6일로 유일한 값이라는 의미 입니다. empno 7369가 2개 나오든 10개 나오든 상관없이 empno + deptno + fromdate 값으로만 유일합니다.

  2. 1번 답변을 참조하십시요.

 

깁헬프님의 프로필 이미지
깁헬프
질문자

PK가 테이블에서 한개밖에 없다면 전체 레코드에서 값이 유일하고, N개일 경우 이들의 조합으로 PK 1개의 역할을 한다는 말씀이군요. 감사합니다.

깁헬프님의 프로필 이미지
깁헬프

작성한 질문수

질문하기