본문 바로가기
[Programmers]/SQL 고득점 Kit

[Mysql] JOIN

by 코드몽규 2022. 2. 3.
반응형

 

 

오늘은 MySQL에서 자주 쓰이는 JOIN에 대해 알아보려고 한다. 

JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블, 결과, 집합으로 표현해준다.

보통 SELECT문과 함께 사용된다.

 

아래는 오늘 JOIN을 설명할때 사용할 예시문이다.

JOIN 예시 테이블

 

  • INNER JOIN

INNER JOIN은 ON 절과 함께 사용되며, ON 절의 조건을 만족하는 데이터만을 가져온다.

#예제
1. SELECT *

FROM Reservation

INNER JOIN Customer # INNER JOIN 사용

ON Reservation.Name = Customer.Name;

2. SELECT *

FROM Reservation

JOIN Customer #JOIN 사용 둘다 똑같다.

ON Reservation.Name = Customer.Name;

 위의 예제는 Reservation 테이블의 Name 필드와 Customer 테이블의 Name 필드가 서로 일치하는 레코드만을 INNER JOIN으로 가져오는 예제이다.

 

INNER JOIN의 벤 다이어그램
결과


  • LEFT JOIN

LEFT JOIN은 첫 번째 테이블을 기준으로, 두 번째 테이블을 조합하는 JOIN이다.

SELECT * FROM Reservation
LEFT JOIN Customer ON Reservation.Name = Customer.Name
WHERE ReserveDate > '2016-02-01';

다음 예제는 Reservation 테이블의 Name 필드를 기준으로 Customer 테이블의 Name 필드와 일치하는 레코드만을 LEFT JOIN으로 가져온 후, 그 중에서 ReserveDate 필드의 값이 2016년 02월 01일 이후인 레코드만을 선택하는 예제이다.

LEFT JOIN의 벤다이어그램
결과

 


  • RIGHT JOIN

 RIGHT JOIN은 LEFT 조인과는 반대로 두 번째 테이블을 기준으로, 첫 번째 테이블을 조합하는 JOIN이다.

SELECT *
FROM Reservation
RIGHT JOIN Customer
ON Reservation.Name = Customer.Name;

다음 예제는 Customer 테이블의 Name 필드를 기준으로 Reservation 테이블의 Name 필드와 일치하는 레코드만을 RIGHT JOIN으로 가져오는 예제이다.

RIGHT JOIN예시
결과

 

출처:http://www.tcpschool.com/mysql/mysql_multipleTable_join

반응형

댓글