본문 바로가기

마케터를 위한 코딩

SQL 기본 문법 알아보기 - JOIN 종류와 활용 방법(INNER, LEFT JOIN)

테이터 테이블을 조회하다보면 필요한 데이터가

다양한 테이블에 흩어져 있어서 여러 테이블을 각각 조회하는 경우가 있는데요.

 

SQL에서는 다양한 데이터를 서로 연결하여 의미 있는 정보를 추출할 수 있는 방법이 있습니다.

데이터베이스에 저장된 정보를 효율적으로 분석하는데 있어서 JOIN은 반드시 알아야 하는 개념입니다.

 

이번 포스팅에서는 JOIN의 기본 개념과 다양한 JOIN의 기본 개념과 주요 종류,

그리고 실제 사용 예를 통해 JOIN의 활용 방법에 대해 알아보겠습니다.

 

1. INNER JOIN

INNER JOIN은 두 테이블에 모두 존재하는 데이터만을 결합합니다.

예를 들어 고객 테이블과 주문 테이블이 있을 때,

두 테이블에 모든 정보가 있는 고객의 주문 정보만 조회할 때 INNER JOIN을 사용합니다.

위 테이블을 보시면 고객 테이블과 주문 테이블에 서로 다른 데이터가 있는데요.

INNER JOIN을 이용하면 고객테이블에 있는 고객 정보 중에서 주문 테이블의 3, 5번 고객만 출력이 됩니다.

 

이걸 쿼리문으로 표현하면 다음과 같이 작성이 가능한데요.

SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
INNER JOIN Orders
ON Customers_customer_id = Orders.customer;

 

 

SELECT 뒤에 있는 출력할 열을 표기한 것을 보면 

Customers.customer_id, Customers.first_name, Orders.amount가 있는데요.

여기서 . 이 의미하는 것은 해당 테이블의 특정 컬럼을 불러오겠다는 의미입니다.

 

Customers.customer_id을 예로 들면,

Customers 테이블의 customer_id라는 열을 불러오겠다는 뜻인거죠.

 

2. LEFT JOIN(LEFT OUTER JOIN)

LEFT JOIN은 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 일치하는 데이터를 결합합니다.

만약 일치하는 데이터 없을 경우에는 NULL 값을 가지게 됩니다.

 

 

아까와 같은 테이블이지만 INNER JOIN과의 차이점은 왼쪽에 있는 고객 데이터는 모두 있지만,

주문 데이터에는 없는 고객의 amount에는 공백으로 표시가 됩니다.

 

LEFT JOIN을 정리하자면 왼쪽에 있는 테이블 데이터 중 key 값에 해당하는 데이터를 매칭해서 결합하고

매칭되는 key 값이 없을 때는 NULL로 표시하는 것을 말합니다.

 

다음 포스팅에서는 나머지 JOIN 방법에 대해 알아보겠습니다.

 

 

 

반응형