WeniVooks

검색

SQL 베이스캠프

JOIN

JOIN

JOIN은 두 개 이상의 테이블을 결합하여 관련된 데이터를 조회할 때 사용되는 SQL 구문입니다. 여러 테이블에서 필요한 데이터를 한 번에 가져오고 싶을 때, 공통된 키를 기준으로 테이블을 결합하여 다양한 결과를 얻을 수 있습니다.

이번 장에서는 INNER JOIN, LEFT JOIN 2개만 실습을 해보고 각 JOIN의 특징을 알아보겠습니다.

1.1 INNER JOIN

INNER JOIN은 두 테이블에서 공통된 열(키 값)이 일치하는 데이터만 반환합니다. 테이블 간 일치하는 데이터가 없으면 결과에 포함되지 않습니다.

SELECT 주문.주문ID, 고객.이름, 주문.주문날짜
FROM 주문
INNER JOIN 고객 ON 주문.고객ID = 고객.고객ID;
SELECT 주문.주문ID, 고객.이름, 주문.주문날짜
FROM 주문
INNER JOIN 고객 ON 주문.고객ID = 고객.고객ID;
실습환경 바로가기

이 쿼리는 주문 테이블과 고객 테이블에서 공통된 고객ID를 기준으로 결합하여, 고객의 이름과 주문 날짜를 조회합니다.

1.2 LEFT JOIN

LEFT JOIN은 왼쪽(기준) 테이블의 모든 행을 반환하고, 오른쪽(조인된) 테이블에서 일치하는 데이터가 없으면 NULL 값을 반환합니다. 일치하는 데이터가 없는 경우에도 왼쪽 테이블의 모든 데이터가 반환됩니다.

SELECT 고객.이름, 주문.주문ID
FROM 고객
LEFT JOIN 주문 ON 고객.고객ID = 주문.고객ID;
SELECT 고객.이름, 주문.주문ID
FROM 고객
LEFT JOIN 주문 ON 고객.고객ID = 주문.고객ID;
실습환경 바로가기

이 쿼리는 고객 테이블의 모든 고객을 반환하며, 해당 고객이 주문한 내역이 있으면 함께 조회되고, 주문 내역이 없는 고객의 경우 NULL로 표시됩니다.

3.3 집계 함수4장 SQL 문제