-
데이터 분석 SQL - 조인(Join) : Outer조인, Non Equi조인, Cross조인DB & SQL/데이터 분석 SQL 2022. 9. 30. 11:30
조인
- 관계형 DB에서 가장 기본이자 중요한 기능
- 두개 이상의 테이블을 서로 연결하여 데이터를 추출
- 관계형 DB에서는 조인을 통해 서로 다른 테이블간의 정보를 원하는 대로 가져올 수 있음
조인 시 데이터 집합 레벨의 변환
- 1:M 조인 시 결과 집합은 M 집합의 레벨을 그대로 유지
ㆍ1집합 : unique, 고유하게 있다
ㆍM집합 : 중복건
조인 유형 - Inner Join , Outer join, Full Outer Join
- inner 조인 : 동일하게 매칭되는 값(조인되는 값)만 뽑음
- Left(Outer) 조인 : 조인에서 빠지더라도 left table 있는 요소들은 가지고 오고 right 값은 null로 채운다.
- Right(Outer) 조인 : 조인에서 빠지더라도 right table 있는 요소들은 가지고 오고 left 값은 null로 채운다.
- Full Outer 조인 : 조인되는 값 + 조인되지 않는 값(null로 채워서) 모두 가져온다.
* right join을 써도 left join을 썼을때와 똑같은 값을 출력할 수 있기에 right join은 잘 사용하지 않는다.*
Non Equi 조인과 Cross 조인의 이해
- Equi 조인 : 조인 시 연결하는 키 값이 서로 같은 경우 ( 즉 = 로 연결 )
- Non Equi 조인 : 키 값으로 연결 시 = 이 아닌 다른 연산자 (between, >, >=, <, <=)를 사용하는 조인
- Cross 조인 ( Cartesian Product 조인 )
ㆍ조인 컬럼없이 두 테이블 간 가능한 모든 연결을 결합하는 조인 방식
/* 1개의 임시테이블 */ WITH 임시테이블명 AS ( SUB QUERY문 (SELECT절) ) SELECT 컬럼, [컬럼, ...] FROM 임시테이블명 /* 2개 이상의 임시테이블 */ WITH 임시테이블명1 AS ( SUB QUERY문 (SELECT절) ), 임시테이블명2 AS ( SUB QUERY문 (SELECT절) ) SELECT 컬럼, [컬럼, ...] FROM 임시테이블명1 , 임시테이블명2 출처: https://royzero.tistory.com/50 [로이의 개발공장:티스토리]
- 쿼리 변수화?
ORDER BY 1, 2, 3
- 1, 2, 3번째 컬럼 순으로 오름차순 정렬
coalesce(a,b)
- coalesce : a가 null이면 b값으로 해라
'DB & SQL > 데이터 분석 SQL' 카테고리의 다른 글
데이터 분석 SQL - 서브 쿼리(Sub-query) (0) 2022.10.08 데이터 분석 SQL - Analytic SQL 집계(Aggregate) & Window 상세 (0) 2022.10.07 데이터 분석 SQL - Analytic SQL 개요와 순위 (0) 2022.10.06 데이터 분석 SQL - Group by와 집계 함수(Aggregate Function) (0) 2022.10.06 데이터 분석 SQL - Date/Timestamp/Time/Interval 타입 (0) 2022.10.03