본문 바로가기

데이터베이스

LEFT JOIN이란?

1. LEFT JOIN
-왼쪽 테이블에서는 모든 값을, 오른쪽 테이블에서는 왼쪽 테이블과 일치되는 값을 반환
-어떠한 값이 왼쪽 테이블에는 존재하지만 오른쪽 테이블에는 존재하지 않는다면 왼쪽 테이블에서 가져온 행의 값들은 빠짐없이 반환되지만 오른쪽 테이블에서 가져오는 행의 값들은 NULL값으로 반환
-오른쪽 테이블에는 값이 존재하지만 왼쪽테이블에는 존재하지 않는다면 해당 값은 반환되지 않음

cf) INNER JOIN : 조인하는 두 테이블에 공통으로 존재하는 값 반환

 

-tableX

  A B
1 * *
2 * *

 

-tableY

  C D
1 # #
3 # #

 

-LEFT JOIN

  A B C D
1 * * # #
2 * *    

 

 

2. LEFT JOIN의 기본 구문

SELECT column_name(s)
FROM tableX
LEFT JOIN tableY
ON tableX.column_name=tableY.column_name;

 


3. 3개 이상의 테이블 LEFT JOIN 구문

SELECT x.column_name, 
            y.column_name,
            z.column_name
FROM tableX x 

LEFT JOIN tableY y
ON x.column_nameM=y.column_nameN
LEFT JOIN tableZ z
ON x.column_nameM=z.column_nameO;

(원하는 반환값에 따른 테이블의 순서 중요!!)

'데이터베이스' 카테고리의 다른 글

MySQL 시간 변환 함수 UNIX_TIMESTAMP(), FROM_UNIXTIME()  (0) 2022.06.03
[MyBatis] parameterType과 resultType  (0) 2022.05.02
MyBatis란?  (0) 2022.04.29