- 2개의 테이블에 대해 연관된 튜플들을 결합해 하나의 새로운 릴레이션을 반환
- 일반적으로 FROM절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용 가능
- INNER JOIN, OUTER JOIN
1. INNER JOIN
- EQUI JOIN, NOT-EQUI JOIN
- 조건 없는 INNER JOIN 수행 시 CROSS-JOIN과 동일한 결과를 얻을 수 있음
1) EQUI JOIN
- JOIN 대상 테이블에서 공통 속성을 기준으로 '='(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 방법
- NATURAL JOIN : '='일 경우 동일 속성이 두 번 나타나게 되는데, 이중 중복 속성을 제거하여 같은 속성을 한 번만 표기하는 방법
- 연결 고리가 되는 공통 속성을 JOIN 속성이라함
- WHERE절을 이용한 EQUI JOIN
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1, 테이블명2, ...
WHERE 테이블명1.속성명 = 테이블명2.속성명;
- NATURAL JOIN절을 이용한 EQUI JOIN
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1 NATURAL JOIN 테이블명2;
- JOIN ~ USING절을 이용한 EQUI JOIN
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1 JOIN 테이블명2 USING(속성명);
2) NON-EQUI JOIN
- JOIN 조건에 '='조건이 아닌 나머지 비교 연산자(<, <>, >=, <=>)를 사용하는 방법
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1, 테이블명2, ...
WHERE (NON-EQUI JOIN 조건);
2. OUTER JOIN
- 릴레이션에서 JOIN 조건에 만족하지 않는 튜플도 결과로 출력하기 위한 방법
- LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN
1) LEFT OUTER JOIN
- INNER JOIN의 결과를 구한 후, 우측 릴레이션의 어떤 튜플과도 맞지 않는 좌측 릴레이션에 있는 튜플들에 NULL값을 붙여 출력
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1 LEFT OUTER JOIN 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명;
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1, 테이블명2
WHERE 테이블명1.속성명 = 테이블명2.속성명(+);
2) RIGHT OUTER JOIN
- INNER JOIN의 결과를 구한 후, 좌측 릴레이션의 어떤 튜플과도 맞지 않는 우측 릴레이션에 있는 튜플들에 NULL값을 붙여 출력
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1 RIGHT OUTER JOIN 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명;
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1, 테이블명2
WHERE 테이블명1.속성명(+) = 테이블명2.속성명;
3) FULL OUTER JOIN
- LEFT OUTER JOIN과 RIGHT OUTER JOIN을 합쳐 놓은 것
- INNER JOIN의 결과를 구한 후, 좌측 릴레이션의 어떤 튜플과도 맞지 않는 우측 릴레이션에 있는 튜플들에 NULL값을 붙여 추가, 우측 릴레이션의 어떤 튜플과도 맞지 않는 좌측 릴레이션에 있는 튜플들에 NULL값을 붙여 출력
SELECT [테이블명1.]속성명, [테이블명2.]속성명, ...
FROM 테이블명1 FULL OUTER JOIN 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명
3. SELF JOIN
- 같은 테이블에서 2개의 속성을 연결하여 EQUI JOIN을 하는 방법
SELECT [별칭1.]속성명, [별칭1.]속성명, ...
FROM 테이블명1 [AS] 별칭1 JOIN 테이블명1[AS] 별칭2
ON 별칭1.속성명 = 별칭2.속성명;
SELECT [별칭1.]속성명, [별칭1.]속성명, ...
FROM 테이블명1 [AS] 별칭1, 테이블명1[AS] 별칭2
WHERE 별칭1.속성명 = 별칭2.속성명;
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [3과목 데이터베이스 구축] SQL 활용 - 115. ⭐ 트리거 (Trigger) (0) | 2025.11.19 |
|---|---|
| [3과목 데이터베이스 구축] SQL 활용 - 114. 프로시저 (Procedure) (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 응용 - 108. ⭐ DDL (Data Define Language) ~ 112. ⭐ DML - SELECT 2 (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 응용 - 107. ⭐ SQL (Structured Query Language) 개념 (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] 물리 데이터베이스 설계 - 106. 물리 데이터 모델 품질 검토 (0) | 2025.11.19 |