티스토리 뷰
Join : 한개 이상의 테이블에서 데이터를 조회하기 위해 사용
조인 형태
1. Cross Join : 2개 이상의 테이블이 조인될 때 WHERE절에 의해 공통되는 칼럼에 의한 결합이 발생되지 않는 경우
- 테이블에 존재하는 모든 데이터가 검색 결과로 나타남
- 특별한 키워드 없이 사용
- 기본 형태
SELECT * FROM 테이블명;
2. Equi Join : 조인 대상이 되는 두 테이블에서 공통적으로 존재하는 칼럼의 값이 일치되는 행을 연결하여 결과를 생성
- 가장 많이 사용하는 조인 방법
- 기본 형태
SELECT * FROM 테이블1, 테이블2 WHERE 테이블1.칼럼명 = 테이블2.칼럼명;
#WHERE뒤에 선언한 칼럼명은 두개의 테이블에서 동일한 칼럼명을 호출한것
3. Non-Equi Join : 조인한 테이블 사이에 칼럼 값이 직접적으로 일치하지 않을 때 사용하는 조인
- = 연산자를 사용
- 컬럼명의 모호성 : 두 테이블에서 동일한 칼럼명을 사용하면 어느 테이블 소속인지 불분명하기 때문에 애매해진다
-> 칼럼을 호출할 때 테이블명.칼럼명 형태로 호출
- 테이블 별명 : FROM 테이블명 별명 형태로 지정
4. Self Join : 자기 자신과 조인을 맺음
5. Outer Join : 조인 조건에 만족하는 데이터 뿐만 아니라 어느 한쪽 테이블에 조인 조건에 명시된 칼럼에 값이 없거나 해당 로우가 아예 없더라도 데이터를 모두 추출
- 일반 조인 확상한 개념
- NULL 값도 행의 결과에 포함 가능
- + 기호를 사용해서 조인 조건에 정보가 부족한 칼럼 이름 뒤에 덧붙힘
- 조인 조건에 만족하지 못하더라도 해당 로우를 나타내고 싶을 때 사용
6. ANSI Join : SQL 문법을 사용한 조인
▶ ANSI Inner Join
- 기본 형태
SELECT * FROM 테이블명1 INNER JOIN 테이블명2 ON 조인조건 WHERE 조건문;
- 조인조건
- using : 두 테이블에 각 조인을 정의한 이름이 동일할 때 사용 -> 간단하게 표현
SELECT * FROM 테이블명1 INNER JOIN 테이블명2 USING 공통칼럼;
- natural join : using문을 쓰지 않음 -> 공통 칼럼을 알아서 조인시켜줌
SELECT * FROM 테이블1 NATURAL JOIN 테이블명2
▶ ANSI Outer Join
- Left Outer Join : 왼쪽에 선언한 테이블이 기준
- 기본 형테
SELECT * FROM 테이블명1 LEFT OUTER JOIN 테이블명2 USING 테이블명1.칼럼명 = 테이블명2.칼럼명;
#테이블명1 한테만 칼럼이 존재
- Right Outer Join : 오른쪽에 선언한 테이블이 기준
- 기본 형태
SELECT * FROM 테이블명1 RIGHT OUTER JOIN 테이블명2 USING 테이블명1.칼럼명 = 테이블명2.칼럼명;
#테이블명2 한테만 칼럼이 존재
- Full Outer Join : Left Outer Join + Right Outer Join
- 기본 형태
SELECT * FROM 테이블명1 FULL OUTER JOIN 테이블명2 USING 공통칼럼명;
'DATABASE > SQL' 카테고리의 다른 글
[SQL] INDEX (0) | 2018.04.20 |
---|---|
[SQL] SUBQUERY (0) | 2018.04.20 |
[SQL] VIEW (0) | 2018.04.19 |
[SQL] SCHEMA - 스키마 (0) | 2018.04.19 |
[SQL] 데이터 무결성 (1) | 2018.04.19 |