FROM을 통해 테이블을 연결할 경우, 12개의 자료에 4개의 자료가 각각 들어감 [4*12=48개]
JOIN을 통해 테이블을 연결할 경우, 12개의 자료들에 4개의 자료 중 DEPTNO가 일치하는 자료들을 연결해줌[12개]
2. USING 조건절
동일한 이름을 가진 칼럼 중 원하는 칼럼에 대해서만 선택적으로 EQUI JOIN을 수행 → NATURAL JOIN은 동일한 이름을 갖는 모든 칼럼에 대해EQUI JOIN을 수행하는 방법
USING조건절을 이용한 EQUI JOIN에서 Alias나 테이블명과 같은 접두사 사용 불가 → NATURAL JOIN과 동일
2. ON 조건절
칼럼명이 다르더라도 JOIN 조건을 수행
WHERE절과 충돌 없이 함께 사용 가능
ON 조건절에 JOIN조건 외에도 데이터 검색 조건을 추가할 수 있음 → 검색 조건 목적인 경우, WHERE절 사용을 권고 → OUTER JOIN에서 조인의 대상을 제한하기 위한 목적으로 사용되는 추가조건 경우, ON절 사용
JOIN
두 개 이상의 테이블과 연결 또는 결합하여 데이터를 출력할 때 사용
JOIN은 관계형 데이터베이스의 가장 큰 장점
보통 Primary Key[PK]나 Foreign Key[FK] 값의 연관에 의해 행들이 JOIN됨 → 가끔 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립되기도 함
FROM절에 여러 테이블이 나열되더라도 2개의 테이블씩만 조인 가능 ex1> A,B,C테이블 JOIN → ((A JOIN B) JOIN C) ex2> A,B,C,D테이블 JOIN → ( ( (A JOIN D) JOIN C) JOIN B)
조인은 가로 연결[칼럼들을 연결] 집합연산자는 세로 연결[같은 칼럼에 데이터 추가]
JOIN의 종류에는 외부조인, 내부조인, 등가조인 , 비등가조인 , 셀프조인, 네츄럴조인 등이 있다.
1. 외부조인[Outer Join]
한쪽에만 데이터가 있는 경우 데이터가 있는 쪽 테이블의 내용을 모두 출력하는 것
즉, 데이터가 존재하지 않더라도 NULL로 출력됨
OUTER JOIN은 JOIN 조건을 FROM 절에서 정의하겠다는 의미 → USING 조건절이나 ON 조건절을 필수적으로 사용
Left Outer Join
JOIN문의왼쪽에 있는 칼럼을 기준으로 오른쪽 칼럼의 데이터를 데이터 존재여부와 관계없이 출력 * 오른쪽 칼럼에 데이터가 없는 경우 NULL로 출력 * 왼쪽 칼럼과 오른쪽 칼럼의 동일한 데이터는 데이터 값 표시 * 왼쪽 칼럼과 오른쪽 칼럼의 동일하지 않은 데이터는 오른쪽 칼럼에 NULL로 표시
Right Outer Join
JOIN문의 오른쪽에 있는 칼럼을 기준으로 왼쪽 칼럼의 데이터를 데이터 존재여부와 관계없이 출력 * 왼쪽 칼럼에 데이터가 없는 경우 NULL로 출력 * 오른쪽 칼럼과 왼쪽 칼럼의 동일한 데이터는 데이터 값 표시 * 오른쪽 칼럼과 왼쪽 칼럼의 동일하지 않은 데이터는 왼쪽 칼럼에 NULL로 표시
Full Outer Join
JOIN문의왼쪽과 오른쪽 칼럼의 모든 데이터를 조인하여 결과를 출력 중복되는 데이터는 삭제된다.[UNION과 유사한 기능, UNION ALL과는 다름]
2. 내부조인[Iner Join]
기준테이블과 연결한 테이블의 중복된 값을 보여주는 JOIN
WHERE절에서 사용하던 JOIN조건을 FROM절에서 사용
등가조인의 FROM절에서 두 테이블명을 연결할 때 ,대신 INNER JOIN사용
WHERE절 대신에 USING조건절이나 ON 조건절을 필수적으로 사용
3. 등가조인[Equi Join]
SELECT * FROM 테이블1, 테이블2
WHERE 테이블명1.컬럼명1=테이블명2.컬럼명2;
테이블간의 공통 컬럼을 활용하여 각 테이블의특정 컬럼에 일치한 데이터를 기준으로 연결하는 방법. → 두 개의 테이블 간의 일치하는 것을 조인 [교집합]
먼저 선행 테이블을 연결하고 선행 테이블에서 주어진 조건[WHERE구]에 해당하는 행을 선택 → 해당 행이 선택되면 Join Key를 기준으로 해시 함수를 사용해 해시 테이블을 메인메모리에 생성하고 후행 테이블에서 주어진 조건을 만족하는 행을 찾음 → 후행 테이블의 Join Key를 사용해 해시 함수를 적용해 해당 버킷을 검색
댓글 영역