본문 바로가기

DataBase & Structured Query Language/MySQL

[MySQL] JOIN

JOIN이란 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현해주는 연산

 

- JOIN = INNER JOIN = CROSS JOIN

ON 절의 조건을 만족하는 데이터만을 가져온다.

ON 절에서는 WHERE 절에서 사용할 수 있는 모든 조건을 사용할 수 있다.

SELECT * FROM Reservation INNER JOIN Customer ON Reservation.Name = Customer.Name;
SELECT * FROM Reservation JOIN Customer ON Reservation.Name = Customer.Name
SELECT * FROM Reservation, Customer WHERE Reservation.Name = Customer.Name;
SELECT * FROM Reservation AS r, Customer AS c WHERE r.Name = c.Name;

 

- LEFT JOIN

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

ON 절의 조건을 만족하지 않는 경우에는 첫 번째 테이블의 필드 값은 그대로 가져온다.

하지만 해당 레코드의 두 번째 테이블의 필드 값은 모두 NULL로 표시한다.

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

 

 

 

- RIGHT JOIN

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

ON 절의 조건을 만족하지 않는 경우에는 두 번째 테이블의 필드 값은 그대로 가져온다.

하지만 해당 레코드의 첫 번째 테이블의 필드 값은 모두 NULL로 표시한다.

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

 

http://tcpschool.com/mysql/mysql_multipleTable_join#

'DataBase & Structured Query Language > MySQL' 카테고리의 다른 글

[MySQL] GROUP BY, HAVING  (0) 2021.05.28
[MySQL] UNION  (0) 2021.05.28