본문 바로가기
DEV

[ORACLE] LEFT JOIN, OUTER JOIN, FULL JOIN

by 아노앤유노 2023. 7. 10.
반응형

oracle
join
left join
outer join
full join

LEFT JOIN, OUTER JOIN, FULL JOIN

 

Oracle 데이터베이스에서 LEFT JOIN, OUTER JOIN, FULL JOIN은 테이블 간의 조인 연산을 수행하는 방법을 나타냅니다. 이러한 조인 유형은 특정 조인 조건에 부합하지 않는 행을 포함할 수 있으므로, 데이터를 결합하고 분석하는 데 유용합니다.

 

  • LEFT JOIN
    LEFT JOIN은 왼쪽(첫 번째) 테이블의 모든 행과 오른쪽(두 번째) 테이블의 일치하는 행을 결합합니다. 일치하지 않는 경우에는 NULL 값을 가진 결과 행이 생성됩니다. 왼쪽 테이블의 모든 행을 유지하면서 오른쪽 테이블과 매칭되는 행이 있는 경우 사용됩니다.

    "Employees" 테이블의 모든 직원과 해당하는 부서 정보를 출력합니다. 만약 직원이 부서에 속하지 않는 경우에는 NULL 값을 가진 결과 행이 생성됩니다.
SELECT Employees.EmployeeID, Employees.EmployeeName, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

 

  • OUTER JOIN
    OUTER JOIN은 LEFT JOIN과 RIGHT JOIN을 포함한 조인 유형을 일반적으로 가리킵니다. OUTER JOIN은 양쪽 테이블 중 하나 이상의 테이블에서 일치하는 행을 반환하며, 일치하지 않는 경우에도 NULL 값을 가진 결과 행을 생성합니다. 따라서 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 결합합니다.

    "Employees" 테이블과 "Departments" 테이블에서 일치하는 행을 반환하며, 일치하지 않는 경우에도 NULL 값을 가진 결과 행을 생성합니다. 왼쪽 테이블의 모든 직원과 오른쪽 테이블의 모든 부서 정보를 출력합니다.
SELECT Employees.EmployeeID, Employees.EmployeeName, Departments.DepartmentName
FROM Employees
FULL OUTER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;
반응형
  • FULL JOIN은 왼쪽 테이블과 오른쪽 테이블의 모든 행을 결합합니다. 일치하는 행이 없는 경우에도 NULL 값을 가진 결과 행이 생성됩니다. 이 조인 유형은 두 테이블 간의 모든 데이터를 포함하고자 할 때 사용됩니다.

    "Employees" 테이블과 "Departments" 테이블의 모든 행을 결합합니다. 모든 직원과 모든 부서 정보를 출력하며, 일치하지 않는 경우에도 NULL 값을 가진 결과 행이 생성됩니다.
SELECT Employees.EmployeeID, Employees.EmployeeName, Departments.DepartmentName
FROM Employees
FULL JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

반환되는 결과는 조인 조건에 따라 다를 수 있으며, 일치하지 않는 행에는 NULL 값이 포함될 수 있습니다. 실제 데이터베이스 스키마와 조인 조건에 따라 사용해야 할 조인 유형을 선택하실 수 있습니다.

반응형

'DEV' 카테고리의 다른 글

[ORACLE] TRUNCATE, DELETE 차이점?  (0) 2023.07.12
[ORACLE] DATE 타입 조회 쿼리 TO_CHAR  (0) 2023.07.11
[C++] 포인터 pointer 란?  (0) 2023.07.06
[JAVA] builder 사용하기  (0) 2023.06.30
[JAVA] spring security 사용하기  (0) 2023.06.30