부등호 조인
이번 장은 기본 개념 부분에서 다룬 조인에 대한 심화학습이다
1. 부등호 조인에 대한 복습
2. 조인을 이용해 해결하는 방법과 서브쿼리로 해결하는 방법을 제시한다
두가지 해법의 비교를 통해 언제 조인과 서브쿼리가 같은 결과를 낼 수 있는지를 알아보기 바란다
3. 경우에 따라 선택적으로 조인을 하는 문제를 다뤄본다
참고로 부등호 조인은 Cartesian Product와 많은 관련이 있으므로 기본적인 의미를 알아야만 이해하기가 쉽다
Cartesian Product WHERE절에 조인조건 없이 조인하는 경우 테이블 ROW 개수만큼 데이터가 복제되는 현상이다.
부등호 조인은 조인을 할 경우 BETWEEN, LIKE, 부등호 같은 연산자 조인이 필요할 때 사용한다
부등호 조인이 일어나기전 Cartesian Product로 조인이 일어난다 그리고 where절의 조건문에 의해 행마다 조건에 부합하는 행들이 출력되는 것이다
(이것은 부등호조인만이 아니라 테이블을 조인할 때에는
select문 순서에 의해 모든 테이블이 Cartesian Product이 일어나는 것을 알수 있다)
이 때 부등호 조인은 한 개의 테이블의 컬럼 값이 다른 테이블 두 개의 컬럼에 수치상으로 포함될 때 두 테이블은 하나의 테이블로 합쳐지고 그 합쳐질 때
두 개를 부등호 조인으로 행마다 조건절을 주어 거기에 해당하는 행만 출력하는 조건이다
- 부등호조인 단점
cartesian product로 join을 하면서 부등호 조건을 동시에 비교하기 때문에
칼럼이 많을 수록 연산속도가 저하
100행 연산 0.38 / 1000행 연산 16.80
'IT_Web > Oracle' 카테고리의 다른 글
Oracle 선택적 조인, 윈도우 함수 활용 어떤값이 모든 행에 +하기, 부등호조인 포인트별 상품 갯수 구하기 WINDOW 함수 (0) | 2020.03.08 |
---|---|
Oralce 선택적 조인 ANSI SQL, DECODE 튜닝 (0) | 2020.03.08 |
Oracle WINDOW 함수, 분석함수, 누적급여합계, 최고금액, 전일매출차액 출력 (0) | 2020.03.08 |
Oracle 채번 5, 10사이에 있는 행의 사번 조회, 계층구조 전개 출력, LPAD 출력 (0) | 2020.03.08 |
Oracle WINDOW 함수 일자별(아이템별) 판매누적, 3일 평균액, 전 사원번호 출력하기 (0) | 2020.03.08 |