SQL - Join

이재용·2025년 1월 1일
0

1:M 조인 시 결과 집합은 M집합의 레벨을 그대로 유지

  • 1의 의미 = unique, 고유하게 있다
  • M의 의미 = 중복되어 있다.
    집합의 레벨
  • 집합 = 테이블(단일 테이블, 조인의 결과, Group by의 결과)
  • 레벨 = 특정 컬럼으로의 유일성이 어떤 레벨이냐를 의미
    M집합의 레벨을 그대로 유지한다는 것의 의미
  • M테이블의 pk는 그대로 unique하다&M레벨은 그대로 M레벨
  • 1테이블의 pk는 더이상 unique하지 않음->M(중복)레벨로 격상
-- 부서명 SALES와 RESEARCH의 소속 직원들의 부서명, 직원번호, 직원명, JOB 그리고 과거 급여 정보중 1983년 이전 데이터는 무시하고 데이터 추출
select a.dname, b.empno, b.ename, b.job, c.fromdate, c.todate, c.sal
from hr.dept a
    join hr.emp b on a.deptno = b.deptno
    join hr.emp_salary_hist c on b.empno = c.empno
where  a.dname in('SALES', 'RESEARCH')
and fromdate >= to_date('19830101', 'yyyymmdd')
order by a.dname, b.empno, c.fromdate;

0개의 댓글