데이터베이스

MySQL : Join

P_eli 2023. 11. 23. 16:32
728x90
반응형

MySQL에서 가장 강력하면서도 복잡한 데이터를 다룰 때 필수적인 'JOIN'에 대해 알아보겠습니다. JOIN은 테이블 간의 연결을 통해 데이터를 효과적으로 조합하는 데 사용됩니다.

 

JOIN이란 무엇인가요?

JOIN은 두 개 이상의 테이블을 연결하여 하나의 결과 집합을 만드는 데 사용되는 SQL 명령어입니다. 이는 여러 테이블 간의 관계를 활용하여 데이터를 효과적으로 가져올 수 있게 해줍니다.

INNER JOIN 예제

가장 기본적인 JOIN 유형은 INNER JOIN입니다. 이는 두 테이블에서 일치하는 행만을 가져옵니다. 예를 들어, 'users' 테이블과 'orders' 테이블에서 일치하는 주문을 찾는 쿼리는 다음과 같습니다.

-- 사용자와 주문을 INNER JOIN
SELECT users.name, orders.order_id
FROM users
INNER JOIN orders ON users.user_id = orders.user_id;

 

LEFT JOIN 예제

LEFT JOIN은 왼쪽 테이블의 모든 행을 가져오고 오른쪽 테이블과 일치하는 행이 있는 경우에만 오른쪽 테이블의 값을 가져옵니다.

-- 사용자와 주문을 LEFT JOIN
SELECT users.name, orders.order_id
FROM users
LEFT JOIN orders ON users.user_id = orders.user_id;

 

RIGHT JOIN 예제

RIGHT JOIN은 LEFT JOIN의 반대입니다. 오른쪽 테이블의 모든 행을 가져오고 왼쪽 테이블과 일치하는 행이 있는 경우에만 왼쪽 테이블의 값을 가져옵니다.

-- 사용자와 주문을 RIGHT JOIN
SELECT users.name, orders.order_id
FROM users
RIGHT JOIN orders ON users.user_id = orders.user_id;

 

FULL OUTER JOIN 예제

FULL OUTER JOIN은 양쪽 테이블에서 일치하는 모든 행을 가져옵니다. 어느 한 쪽에만 데이터가 있는 경우에도 결과에 포함됩니다.

-- 사용자와 주문을 FULL OUTER JOIN
SELECT users.name, orders.order_id
FROM users
FULL OUTER JOIN orders ON users.user_id = orders.user_id;

 

주의사항

JOIN은 강력한 기능이지만, 적절하게 사용해야 합니다. 과도한 JOIN은 성능을 저하시킬 수 있으므로 필요한 만큼만 사용하는 것이 좋습니다.

728x90
반응형