SQL/oracle
oracle SQL - 조인 개념
jun.s.gi
2023. 4. 25. 00:38
728x90
RDB는 중복을 최소화하고 갱신 작업의 이상현상을 제거하기 위해 DB설계 시 수행하는 과정을 정규화라고 합니다.
정규화는 관계형 데이터베이스 설계 과정 중 하나이며 마지막 검증단계에서 정규화가 필요하면 정규화합니다.
정규화를 거치면 테이블에는 필요한 최소한의 정보를 저장하게 되어 나중에 필요한 정보를 보고자 할 때 여러 테이블의 데이터를 가져와야 하는 경우 조인이 필요합니다.
조인 종류
조인되는 두 테이블의 연관된 데이터의 비교
- 등가 조인, Equi Join
- 단순 조인 또는 inner join
- 기본키와 외래키 관계에 있는 두 테이블 간에 자주 사용
- natural join, using() 절을 사용하는 조인은 등가 조인만 가능
- 두 테이블에서 연관 있는 데이터에 대하여 동등비교를 수행
- 비등가 조인, Non Equi Join
- 조인 조건에 연산자 (<, <=, <> 등)를 사용하여 두 테이블의 관계를 기술
- on절에서 between 연산자가 많이 사용됩니다.
조인 결과에 따른 분류
- Inner Join
- 조인하는 열에 대해 일치하는 행만 반환
- 만족하지 못하면 표시되지 않음
- Outer join
- Inner Join 하면서 생긴 생략된 튜플을 함께 출력합니다.
- table1 LEFT OUTER JOIN table2 : 왼쪽 테이블의 일치하지 않는 행을 함께 보여줍니다.
- table1 RIGHT OUTER JOIN table2 : 오른쪽 테이블의 일치하지 않는 행을 함께 보여줍니다.
- table1 FULL OUTER JOIN table2 : 위 두 가지의 결과를 함께 보여줍니다.
조인에 사용되는 테이블 수에 의한 분류
- Self Join
- 하나의 테이블을 두 번 검색해서 조인
- table1 t1 join table1 t2
- 3 Way Join
- 세 개의 테이블을 조인하는 것을 의미하지만 조인할 수 있는 테이블의 개수는 제한이 없습니다.
- 하지만 4개 이상 테이블을 조인할 경우 효율적이지 못하고 DBMS 부하가 클 수 있습니다.
728x90