개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* FULL OUTER JOIN
- LEFT OUTER JOIN 과 RIGHT OUTER JOIN 을 동시에 실행한 결과를 출력


- 예
지도교수가 없는 학생과 지도학생이 배정되지 않은 교수를 함께 출력하라.

 

 

 

 

* 실습 예
- 학생 테이블과 교수 테이블을 조인하여 학년, 이름, 지도교수 이름, 직급을 출력하여라. 단, 지도교수가 배정되지 않은 학생 명단과 지도 학생이 배정되지 않은 교수 명단도 함께 출력하여라.
(+)기호를 사용한 OUTER JOIN(1)

 

(+)기호를 사용한 OUTER JOIN(2)

 

 

* 실습 예
- OUTER JOIN ~ON절을 사용한 OUTER JOIN

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* LEFT OUTER JOIN
- FROM 절의 왼쪽에 위치한 테이블이 NULL 을 가질 경우에 사용
- WHERE절의 오른편에 ‘(+)’ 기호를 추가한 것과 동일
예 : 지도교수가 배정되지 않은 학생 명단을 출력하여라

 

* RIGHT OUTER JOIN
- FROM 절의 오른쪽에 위치한 테이블이 NULL 을 가질 경우, 사용
- WHERE 절의 왼편’(+)’ 기호를 추가한 것과 동일


- 예
지도학생이 배정되지 않은 교수 명단을 출력하여라.

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 실습 예
- 학생 테이블과 교수 테이블을 조인하여 이름, 학년, 지도교수 이름, 직급을 출력하여라. 단, 지도학생을 배정받지 않은 교수 이름도 함께 출력하여라.

 

 

 

* OUTER JOIN ~ON 절을 사용한 OUTER JOIN
- 오라클 9i 버전부터 OUTER JOIN 절 사용

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 * (+) 기호를 사용한 OUTER JOIN
- WHERE 절의 조인 조건에서 OUTER JOIN 연산자인 ‘(+)’ 기호 사용
- 조인 조건문에서 NULL 이 출력되는 테이블의 칼럼에 (+) 기호 추가

 

 

 

 

 

 

 

* 사용 예
- 학생 테이블과 교수 테이블을 조인하여 이름, 학년, 지도교수의 이름, 직급을 출력하여라. 단, 지도교수가 배정되지 않은 학생이름도 함께 출력하여라.

 

 

* OUTER JOIN의 제약사항
- OUTER JOIN 연산자(+)는 NULL이 존재하는 칼럼쪽에 표시
- OUTER JOIN에서는 IN 연산자를 사용 불가
- 다른 조건과 OR 연산자로 결합 불가

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 개요 *
- EQUI JOIN의 조인 조건에서 양측 칼럼 값 중, 어느 하나라도 NULL 이면 ‘=‘ 비교 결과가 거짓이 되어 NULL 값을 가진 행은 조인 결과로 출력 불가
● NULL 에 대해서 어떠한 연산을 적용하더라도 연산 결과는 NULL
- 일반적인 EQUI JOIN 의 예 :
학생 테이블의 학과번호 칼럼과 부서 테이블의 부서번호 칼럼에 대한 EQUI JOIN ( student.deptno = department.deptno ) 한 경우

- 학생 테이블의 deptno 칼럼이 NULL 인 경우 해당 학생은 결과로 출력되지 못함

- EQUI JOIN에서 양측 칼럼 값중의 하나가 NULL 이지만 조인 결과로 출력할 필요가 있는 경우 OUTER JOIN 사용


- OUTER JOIN의 예 :
학생 테이블과 교수 테이블을 EQUI JOIN하여 학생의 지도 교수 이름 출력
조건 : 지도 학생을 한 명도 배정받지 못한 교수 이름도 반드시 함께 출력

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* NON-EQUI JOIN
- ‘<‘,BETWEEN a AND b 와 같이 ‘=‘ 조건이 아닌 연산자 사용

* 사용 예
- 교수 테이블과 급여 등급 테이블을 NON-EQUI JOIN하여 교수별로 급여 등급을 출력하여라.

 

 

* 실습 예
- 101번 학과 교수의 교수번호, 이름, 급여, 급여 등급을 출력하여라.

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* JOIN ~ USING 절을 이용한 EQUI JOIN
- USING절에 조인 대상 칼럼을 지정
- 칼럼 이름은 조인 대상 테이블에서 동일한 이름으로 정의되어 있어야함

 

 

* 사용 예
- JOIN ~ USING 절을 이용하여 학번, 이름, 학과번호, 학과이름, 학과위치를 출력하여라.

 

 

* 실습 예
- EQUI JOIN의 3가지 방법을 이용하여 성이 ‘김’씨인 학생들의 이름, 학과이름, 학과위치를 출력하여라.
- WHERE 절을 사용한 방법

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 자연조인을 이용한 EQUI JOIN
- 오라클 9i 버전부터 EQUI JOIN을 자연조인이라 명명
- WHERE 절을 사용하지 않고  NATURAL JOIN 키워드 사용
- 오라클에서 자동적으로 테이블의 모든 칼럼을 대상으로 공통 칼럼을 조사 후, 내부적으로 조인문 생성

 

 

 

* 사용 예
- NATURAL JOIN을 이용하여 교수 번호, 이름, 학과 번호, 학과 이름을 출력하여라.

 

 

* 사용 예
- NATURAL JOIN을 이용하여 4학년 학생의 이름, 학과 번호, 학과이름을 출력하여라.

 

 

 

 

 

 

 

+ Recent posts