조인 이란 ?
여러 테이블의 데이터를 결합하여 쿼리하는 기능입니다. 조인의 기본적인 목적은 관련된 데이터를 다양한 테이블에서 가져와서 단일 결과 세트로 결합
내부 조인 (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;
조인을 사용할 때는 두 테이블 간의 관계를 잘 이해하고, 적절한 조인 유형을 선택하는 것이 중요합니다.
또한, 복잡한 쿼리에서는 여러 유형의 조인을 혼합하여 사용할 수도 있습니다.
'BACKEND > Oracle' 카테고리의 다른 글
Oracle 프로시저 예제 (0) | 2024.01.14 |
---|---|
[Oracle] IO 오류 - The Network Adapter could not establish the connection 해결 (1) | 2024.01.13 |
[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D) (0) | 2024.01.12 |
[Oracle] 연습용 계정(scott)과 사원 테이블(emp) 만들기 (0) | 2024.01.08 |
Error 6 initializing SQL*Plus (0) | 2024.01.08 |