DB/이론

내부 조인과 외부 조인

로파이 2022. 4. 30. 11:16

내부 조인 Inner Join

두 테이블의 컬럼 값을 결합으로써 새로운 결과 테이블을 만들어내는 것. 비교하는 컬럼 값이 항상 존재하는 레코드만으로 테이블을 생성해낸다.

예제 테이블

명시적 조인

JOIN 키워드 뒤에 ON 절을 사용하여 결합 기준이되는 컬럼을 지정한다.

SELECT *
FROM employee INNER JOIN department
  ON employee.DepartmentID = department.DepartmentID;

내부 조인

암시적 조인

SELECT 구문의 FROM 절에서 컴마를 사용하여 단순히 조인을 위한 테이블을 나열한다. 이는 CROSS JOIN을 암묵적으로 사용하게 되고 WHERE 절에 오는 컬럼 비교를 사용하여 새로운 조인 테이블을 만들게 된다.

SELECT *
FROM employee, department
WHERE employee.DepartmentID = department.DepartmentID;

 

외부 조인

비교하는 컬럼값이 없는 레코드이더라도 기준이 되는 (LEFT, RIGHT) 테이블의 레코드는 항상 포함되도록 하는 조인 방법이다. 비교하는 컬럼값이 없을 경우 NULL로 표시된다.

 

LEFT OUTER JOIN

SELECT *
FROM employee LEFT OUTER JOIN department
  ON employee.DepartmentID = department.DepartmentID;

왼쪽 외부 조인


RIGHT OUTER JOIN

SELECT *
FROM employee RIGHT OUTER JOIN department
  ON employee.DepartmentID = department.DepartmentID;

오른쪽 외부 조인


FULL OUTER JOIN

SELECT *
FROM employee FULL OUTER JOIN department
  ON employee.DepartmentID = department.DepartmentID;

완전 외부 조인



참고:

https://ko.wikipedia.org/wiki/Join_(SQL)

 

'DB > 이론' 카테고리의 다른 글

RDBMS vs NoSQL  (0) 2022.05.02
무결성 제약 조건  (0) 2022.05.02
트랜잭션 고립 수준에 따른 부정합 문제  (0) 2022.05.01
테이블 정규화  (0) 2022.04.29
클러스터형 인덱스 / 보조 인덱스  (0) 2021.11.29