본문 바로가기
MySQL

[SQL] 조인 (JOIN)

by 스응 2023. 3. 8.
728x90
728x90

조인 (JOIN)

  - 두 개의 테이블을 연결하여 데이터를 검색하는 방법

 

#  다중 조인

SELECT *
FROM 테이블1
LEFT JOIN 테이블2
ON 테이블1.Key = 테이블2.Key
LEFT JOIN 테이블3
ON 테이블1.Key = 테이블3.Key;

 

 


내부 조인 (자연 조인)

  - 두 테이블에서 일치하는 레코드만을 출력함 (교집합)

 

SELECT *
FROM 기준테이블 AS 'a' -- 'a'라는 별칭 지정
INNER JOIN 대상테이블 AS 'b' -- 'b'라는 별칭 지정
ON a.Key = b.Key -- 주로 기본키, 외래키로 연결함
[WHERE 조건];

 

 


외부 조인

#  LEFT JOIN

  - FROM 절의 테이블에 있는 모든 데이터 + JOIN 절의 테이블에 있는 동일한 데이터

 

SELECT *
FROM 기준테이블 AS 'a'
LEFT JOIN 상대테이블 AS 'b'
ON a.Key = b.Key
[WHERE 조건];

 

  - 기준 테이블(FROM 절)의 데이터는 모두 보존됨

  - 상대 테이블(JOIN 절)에 값이 존재하지 않을 경우, NULL로 표시됨

      → NULL이 있는 데이터는 표시하지 않으려면 WHERE b.기본키 IS NOT NULL 조건 추가

 

#  RIGHT JOIN

  - JOIN 절의 테이블에 있는 모든 데이터 + FROM 절의 테이블에 있는 동일한 데이터

 

SELECT *
FROM 기준테이블 AS 'a'
RIGHT JOIN 상대테이블 AS 'b'
ON a.Key = b.Key
[WHERE 조건];

 

  - 상대 테이블(JOIN 절)의 데이터는 모두 보존됨

  - 기준 테이블(FROM 절)에 값이 존재하지 않을 경우, NULL로 표시됨

      → NULL이 있는 데이터는 표시하지 않으려면 WHERE a.기본키 IS NOT NULL 조건 추가

 

320x100
반응형

'MySQL' 카테고리의 다른 글

[SQL] 집계 함수  (0) 2023.03.11
[SQL] 함수 (숫자, 문자열, 날짜/시간)  (0) 2023.03.08
[SQL] 관계 차수  (0) 2023.03.07
[SQL] 기본키(PK)와 외래키(FK)  (0) 2023.03.07
[SQL] 인덱스  (0) 2023.03.07

댓글