반응형
오늘은 MySQL에서 자주 쓰이는 JOIN에 대해 알아보려고 한다.
JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블, 결과, 집합으로 표현해준다.
보통 SELECT문과 함께 사용된다.
아래는 오늘 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으로 가져오는 예제이다.
- 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일 이후인 레코드만을 선택하는 예제이다.
- RIGHT JOIN
RIGHT JOIN은 LEFT 조인과는 반대로 두 번째 테이블을 기준으로, 첫 번째 테이블을 조합하는 JOIN이다.
SELECT *
FROM Reservation
RIGHT JOIN Customer
ON Reservation.Name = Customer.Name;
다음 예제는 Customer 테이블의 Name 필드를 기준으로 Reservation 테이블의 Name 필드와 일치하는 레코드만을 RIGHT JOIN으로 가져오는 예제이다.
반응형
댓글