본문 바로가기

SQL/SQLD (개발자)

2-1. SQL 기본_(9)조인(JOIN)

제9절 조인(JOIN)

 

1. JOIN 개요

  - 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것
  - PRIMARY KEY(PK)나 FOREIGN KEY(FK) 값의 연관에 의해 JOIN이 성립

 

2. EQUI JOIN

  - 두 개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 경우에 사용
  - 대부분 PK ↔ FK의 관계를 기반

  - 주로 ON절을 사용하여 JOIN 실행

# JOIN 기본 구조 
# [테이블1.컬럼1] 은  테이블1에 포함된 컬럼1을 추출하는 방식

# 1) WHERE절을 사용하는 경우
SELECT 테이블1.컬럼1, 테이블2.컬럼2 # 세번째 실행 
FROM 테이블1, 테이블2 # 첫번째 실행 
WHERE 테이블1.컬럼 = 테이블2.컬럼 # 두번째 실행

# 2) ON절을 사용하는 경우
SELECT A.컬럼1, B.컬럼2  # 세번째 실행 
FROM 테이블1 A
INNER JOIN 테이블2 B  # 첫번째 실행 
ON A.컬럼 = B.컬럼 # 두번째 실행

 

3. Non EQUI JOIN

  - 두 개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하지 않는 경우에 사용

  - Between, >, >=, <, <= 등 비교연산자 사용

# Non EQUI JOIN 기본 구조 

# WHERE절에서 BETWEEN 사용하는 경우
SELECT 테이블1.컬럼1, 테이블2.컬럼2 
FROM 테이블1, 테이블2 
WHERE 테이블1.컬럼1 BETWEEN 테이블2.컬럼1 AND 테이블2.컬럼2

 

4. 3개 이상 TABLE JOIN

# 3개 이상의 테이블 JOIN 기본 구조

SELECT A.컬럼1, B.컬럼2, C.컬럼3
FROM 테이블1 A
INNER JOIN 테이블2 B
	ON A.컬럼 = B.컬럼
INNER JOIN 테이블3 C
	ON B.컬럼 = C.컬럼