본문 바로가기

IT 지식/DB

[SQL]Join

728x90
반응형

Join : 하나 이상의 테이블에 있는 데이터를 조회하기 위해 사용

각 테이블마다 동일한 컬럼이 있을 수 있기 때문에 어떤 테이블에 속한 컬럼인지 확인하기 위해 열 이름 앞에 테이블 이름을 붙여야 함.

이름 대신 별칭을 사용할 수도 있음. ALIAS - SQL문장을 간단하게 작성할 수 있다. 명명은 짧고 의미있는 단어로 지정

중복되지 않은 열 이름이라도 열 이름 앞에 테이블 이름을 붙이면 오라클 서버에서 찾고자 하는 열의 정확한 위치를 알려주므로 성능 향상이 된다.

2개 이상의 테이블을 조인할 수도 있지만 항상 2개씩만 조인이 가능.

 

종류

1. EQUIJOIN

: primary key와 foriegn key

2. NON-EQUIJOIN

: 두 테이블 사이에 어떤 컬럼에 연관이 없는 것

: BETWEEN ~ AND

3. OUTER JOIN

: (+) 기호 사용. 정보가 부족한 쪽에 붙인다.

: ANSI 방법으로 사용하는 것을 권장. OUTER JOIN 테이블명 ON 

: 기호 사용 시 양쪽다 OUTER JOIN 사용할 수 없다. 또한 IN 연산자 사용 불가능

4. SELF JOIN

 

5. Cartesian Product

: 조인 조건이 생략되거나 잘못된 경우 발생한다.

: 조인되는 모든 테이블의 모든 행이 조인 되는 경우 발생

: Cartesian Product가 발생하면 잘못된 결과를 얻을 수 있으므로 WHERE절에 정확한 조인 조건을 써야함

Cartesian Product를 의도적으로 사용할 수도 있다.

728x90
반응형

'IT 지식 > DB' 카테고리의 다른 글

[SQL]Sub Query  (0) 2025.04.12
[SQL] Oracle  (0) 2016.03.18
[SQL]ROWID  (0) 2016.03.09
[SQL] Procedure, Function, Package  (0) 2016.01.07
[펌]PK 가 없는 테이블에서 중복된 데이터 제거하기  (0) 2015.12.18