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

 

 

 

 

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

 

 

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

 

 

 

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

 

 

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

 

 

 

 

 

 

 

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

 

 

 

 

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

 

 

* 개념
- 조인 대상 테이블에서 공통 칼럼을 ‘=‘(equal) 비교를 통해 같은 값을 가지는 행을 연결하여 결과를 생성하는 조인 방법
- SQL 명령문에서 가장 많이 사용하는 조인 방법
- 조인 애트리뷰트(join attribute(속성))

 

- FROM : 조인 대상 테이블을 기술한다. 테이블은 콤마(,)로 구분
- WHERE : 조인 애트리뷰트와 ‘=‘연산자를 사용하여 조인 조건을 기술

 

 

 

* 사용 예
- 학생 테이블과 부서 테이블을 EQUI JOIN하여 학번, 이름, 학과 번호, 소속 학과 이름, 학과 위치를 출력하여라

 

 

 

 

 

 

 

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

 

 

 

 

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

 

 

 

 

* 카티션 곱
- 두 개 이상의 테이블에 대해 연결 가능한 행을 모두 결합

- WHERE 절에서 조인 조건절을 생략하거나 잘못 설정한 경우

- 대용량 테이블에서 발생할 경우 SQL명령문의 처리속도 저하

- 개발자가 시뮬레이션을 위한 대용량의 실험용 데이터를 생성하기 위해 의도적으로 사용 가능

- 오라클 9i 이후 버전에서 FROM절에 CROSS JOIN 키워드 사용

 

 

 

 

* 사용 예
- 학생 테이블과 부서 테이블을 카테션 곱을 한 결과를 출력하여라

 

 

 

 

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

 

 

 

 

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

 

 

* 사용 예
- ‘전인하’ 학생의 학번, 이름, 학과 이름 그리고 학과 위치를 출력하여라.

 

 

 

 

 

* 실습 예
- 몸무게가 80kg이상인 학생의 학번, 이름, 체중, 학과 이름, 학과위치를 출력하여라.

 

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

 

 

 

 

 

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

 

 

* 테이블 이름이 너무 긴 경우 사용
- 테이블 이름을 대신하는 별명 사용 가능
- FROM절에서 테이블 이름 다음에 공백을 두고 별명 정의
- 테이블 별명 작성 규칙
테이블의 별명은 30자 까지 가능, 너무 길지 않게 작성
FROM 절에서 테이블 이름을 명시하고 공백을 둔 다음 테이블 별명지정
하나의 SQL 명령문에서 테이블 이름과 별명을 혼용할 수 없다
테이블의 별명은 해당 SQL 명령문내에서만 유효

 

 

* 사용 예
- 테이블 이름과 별명을 혼용하여 사용한 경우

 

 

 

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

 

 

 

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

 

 

 

* 칼럼 이름의 애매모호성 해결방법
- 서로 다른 테이블에 있는 동일한 칼럼 이름을 연결할경우
 컬럼 이름앞에 테이블 이름을 접두사로 사용
 테이블 이름과 칼럼 이름은 점(.)으로 구분
- SQL 명령문에 대한 구문분석 시간(parsing time) 줄임
student.deptno와 department.deptno

 

 

 

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

 

 

 

 

 

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

 

 

* 조인의 필요성
- 조인을 사용하지 일반적인 예

 

* 사용 예
- 학번이 10101인 학생의 이름과 소속 학과 이름을 출력하여라.

 

 

 

 

 

 

 

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

 

 

 

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

 

 

 

* 조인의 개념
- 하나의 SQL 명령문에 의해 여러 테이블에 저장된 데이터를 한번에 조회할수 있는 기능
- 관계형 데이터베이스 분야의 표준
- 두개 이상의 테이블을 ‘결합’ 한다는 의미

 

* 조인의 필요성
- 조인을 사용하지 않는 일반적인 예
학생 주소록을 출력하기 위해 학생들의 학번, 이름, 소속학과 이름을 검색
학생에 대한 정보 검색하는 단계 필요
학생 정보에서 소속학과번호 정보를 추출하여 소속학과 이름을 검색하는 단계 필요 

+ Recent posts