뇌운동일지

[Oracle] join 본문

DB/Oracle

[Oracle] join

purpleduck 2020. 5. 26. 15:11

조인 : 1개 이상의 테이블로 부터 테이터 검색 

 

1. cross join : 무의미 

만들 수 있는 모든 mapping을 만든다 

테이블1의 행의 갯수 * 테이블2의 행의 갯수만큼의 행이 생김.

 

☆2. equi 조인 : 일치하는 행 선택  

조인식 : 부서.부서코드 = 사원.부서코드 

 

select 부서코드, 부서명, 사원명

from 부서, 사원 

where 부서.부서코드 = 사원.부서코드 ;

-> 부서코드는 양쪽에 모두 있어서 모호성 발생 : 어느 한쪽을 선택해주어야 함 

부서. 부서코드 로 수정할 것 

 

natural join 이나 join ~ using 사용 

 

논리연산자 우선순위 문제 발생을 방지하기 위해 괄호 사용 필요

 

☆3. non equi 조인

age >= age

 

4. self join : 자신 테이블의 컬럼을 참조 

( 피봇팅 출력 시 사용, 피봇팅 : 수직으로 출력되는 것을 수평으로 출력할 때 ) 

-------------여기까지는 inner join 

 

5. outer join : 조인문의 조건에 맞지 않는 것도 출력 

right outer join, left outer join, full outer join

 

삼중 조인 시, 

A natural join B 

   join C on ( ) 

 

조인의 기본 : 종속되는 column이 존재하는 것 

'DB > Oracle' 카테고리의 다른 글

[Oracle] join과 subquery 연습문제  (0) 2020.05.27
[Oracle] SubQuery, 집합연산자  (0) 2020.05.27
[Oracle SQL] select 연습문제 (61~108)  (0) 2020.05.26
[Oracle SQL] select 추가사항  (0) 2020.05.26
[Oracle SQL] select 연습문제  (0) 2020.05.25
Comments