게으른 개발자의 끄적거림

SQL JOIN이란? (INNER JOIN, OUTER JOIN..)

끄적잉 2023. 8. 31. 21:59
반응형

 SQL JOIN은 데이터베이스에서 두 개 이상의 테이블을 연결하여 관련 데이터를 결합하고 쿼리 결과 집합을 생성하는 데 사용되는 중요한 SQL 연산입니다. JOIN을 사용하면 데이터베이스에서 분산된 정보를 논리적으로 연결하여 필요한 정보를 검색할 수 있습니다. SQL JOIN은 관계형 데이터베이스 관리 시스템 (RDBMS)에서 주로 사용됩니다. 주로 사용되는 JOIN 종류에는 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 등이 있습니다.

여기서 몇 가지 중요한 JOIN 종류와 각각의 설명을 제공하겠습니다.

 

1. INNER JOIN:

  • INNER JOIN은 두 개의 테이블에서 일치하는 행만 반환합니다.
  • 두 테이블 간의 공통 열(예: 외래 키)을 기반으로 연결됩니다.
  • 일치하지 않는 행은 결과에 포함되지 않습니다.

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

 

 

2. LEFT JOIN (또는 LEFT OUTER JOIN):

  • LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환합니다.
  • 오른쪽 테이블에서 일치하지 않는 경우 NULL 값으로 채워집니다.

SELECT customers.customer_name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;

 

 

3. RIGHT JOIN (또는 RIGHT OUTER JOIN):

  • RIGHT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환합니다.
  • 왼쪽 테이블에서 일치하지 않는 경우 NULL 값으로 채워집니다.

SELECT customers.customer_name, orders.order_id
FROM customers
RIGHT JOIN orders ON customers.customer_id = orders.customer_id;

 

 

4. FULL OUTER JOIN (또는 FULL JOIN):

  • FULL OUTER JOIN은 두 테이블 사이의 모든 행을 반환합니다.
  • 일치하지 않는 행은 NULL 값으로 채워집니다.

SELECT customers.customer_name, orders.order_id
FROM customers
FULL OUTER JOIN orders ON customers.customer_id = orders.customer_id;

 

 

 이러한 JOIN 연산을 사용하여 데이터베이스에서 원하는 정보를 추출하고 데이터 간의 관계를 효과적으로 활용할 수 있습니다. JOIN은 복잡한 데이터베이스 질의와 보고서 생성에 중요한 도구이며, 데이터를 효율적으로 정리하고 조작하는 데 도움이 됩니다.

반응형