BACKEND/Oracle

Oracle에서 사용하는 조인

꾸준히개발하자 2024. 1. 14. 22:54

 

조인 이란 ?

여러 테이블의 데이터를 결합하여 쿼리하는 기능입니다. 조인의 기본적인 목적은 관련된 데이터를 다양한 테이블에서 가져와서 단일 결과 세트로 결합

 

 

 

내부 조인 (Inner Join):

  • 두 테이블의 교집합에 해당하는 데이터를 선택합니다.
  • 일반적으로 JOIN 키워드를 사용합니다.
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

 

외부 조인 (Outer Join):

  • 두 테이블을 결합하되, 한 테이블에는 매치되는 행이 없어도 행을 포함합니다.
  • 외부 조인에는 세 가지 유형이 있습니다: LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN

왼쪽 외부 조인 (Left Outer Join):

  • 왼쪽 테이블의 모든 행과 오른쪽 테이블의 매치되는 행을 포함합니다.
SELECT columns
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name;

 

오른쪽 외부 조인 (Right Outer Join):

  • 오른쪽 테이블의 모든 행과 왼쪽 테이블의 매치되는 행을 포함합니다.
SELECT columns
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name = table2.column_name;

 

전체 외부 조인 (Full Outer Join):

  • 두 테이블의 모든 행을 포함하며, 매치되지 않는 경우 NULL 값을 갖습니다.
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;

 

자연 조인 (Natural Join):

  • 두 테이블 간의 모든 공통된 열을 기준으로 조인합니다.
  • 조건을 명시하지 않아도 동일한 이름의 열을 자동으로 찾아 조인합니다.
SELECT columns
FROM table1
NATURAL JOIN table2;

 

크로스 조인 (Cross Join):

  • 두 테이블의 모든 가능한 조합을 생성합니다.
  • 결과는 두 테이블의 행 수를 곱한 것과 같습니다.
SELECT columns
FROM table1
CROSS JOIN table2;

 

조인을 사용할 때는 두 테이블 간의 관계를 잘 이해하고, 적절한 조인 유형을 선택하는 것이 중요합니다.

또한, 복잡한 쿼리에서는 여러 유형의 조인을 혼합하여 사용할 수도 있습니다.