고래씌
[Oracle] 4-3. DML(SELECT) - JOIN ③ (카테시안 곱/교차 조인, 비등가 조인, 자체조인, 다중 조인) 본문
Database/Oracle
[Oracle] 4-3. DML(SELECT) - JOIN ③ (카테시안 곱/교차 조인, 비등가 조인, 자체조인, 다중 조인)
고래씌 2023. 11. 27. 11:361. 카테시안 곱/ 교차조인
▶ 모든 테이블의 각 행들이 서로서로 매핑된 데이터가 조회됨(곱집합)
▶ 두 테이블의 행들이 모두 곱해진 행들의 조합 출력
=> 각각 N개, M개의 행을 가진 테이블들의 카테시안 곱의 결과는 N*M의 행
=> 모든 경우의 수를 다 따져서 조회하겠다
=> 방대한 데이터를 출력할 위험이 있다.
▶ 사원명, 부서명
- 오라클 구문
- ANSI 구문
....
☞ 값이 방대하게 여러가지 경우의 수를 두고 출력되는 것을 확인
☞ 카테시안 곱의 경우 WHERE 절에 기술하는 조인 조건이 잘못되었거나 아예 없을 경우 발생
2. 비등가 조인(NON EQUAL JOIN)
▶ '='를 사용하지 않는 조인문 => 다른 비교연산자를 써서 조인하겠다( >, <, BETWEEN A AND B ..)
=> 지정한 칼럼 값들이 일치하는 경우가 아니라 "범위"에 포함되는 경우 매칭해서 조회하겠다.
▶ 사원명, 급여, 급여등급(SAL_LEVEL)
- 오라클 전용구문
- ANSI 구문
3. 자체조인(SELF JOIN)
▶ 같은 테이블끼리 조인하는 경우
즉, 자기 자신의 테이블과 다시 조인을 맺겠다.
=> 자체조인의 경우 테이블에 다시 별칭을 부여해줘야한다.
▶ 사원의 사번, 사원명, 사수의 사번, 사수명
- 오라클 전용 구문
- ANSI 구문
4. 다중 조인
: 3개 이상의 테이블을 조인해서 조회하겠다 => 조인 순서가 중요하다
▶ 사번, 사원명, 부서명, 직급명
- 오라클 전용 구문
- ANSI 구문
'Database > Oracle' 카테고리의 다른 글
[Oracle] DB 실습문제 1(Basic) (0) | 2023.11.27 |
---|---|
[Oracle] 5-1. DML(SELECT) - SUBQUERY(서브쿼리) (0) | 2023.11.27 |
[Oracle] 4-2. DML(SELECT) - JOIN ② (OUTER JOIN, FULL OUTER JOIN) (0) | 2023.11.27 |
[Oracle] 4-1. DML(SELECT) - JOIN ① (INNER JOIN) (0) | 2023.11.24 |
[Oracle] 3. DML(SELECT) - GROUP BY & HAVING, 집합연산자 (0) | 2023.11.24 |