English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL 테이블 조인(Join)

이 튜토리얼에서는 두 테이블을 연결하여 결합된 데이터를 얻는 방법을 배울 것입니다.

SQL 연결 기본

지금까지 본 모든 쿼리는 하나의 테이블에 중점을 둡니다. 하지만 현실에서는 두 개나 많은 테이블을 동시에 쿼리하고 결합된 결과 집합을 얻는 경우가 많습니다. 이는 공통 필드에 따라 테이블 간을 연결하는 것으로 기술적으로 연결이라고 합니다.외래 키)다른 테이블을 연결하여 데이터의 새로운 뷰를 생성합니다.

이 점을 쉽게 이해하기 위해 아래를 보겠습니다.employeesdepartments테이블. 여기서 employees 테이블의 dept id 열은 departments 테이블의 외래 키입니다. 따라서 이 두 테이블을 연결하여 결합된 데이터를 얻을 수 있습니다.

+--------+--------------+------------+---------+
| emp_id | emp_name     | hire_date  | dept_id |
+--------+--------------+------------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |       4 |
|      2 | Tony Montana | 2002-07-15 |       1 |
|      3 | Sarah Connor | 2005-10-18 |       5 |
|      4 | Rick Deckard | 2007-01-03 |       3 |
|      5 | Martin Blank | 2008-06-24 |    NULL |
+--------+--------------+------------+---------+

+---------+------------------+
| dept_id | dept_name        |
+---------+------------------+
|       1 | Administration   |
|       2 | Customer Service |
|       3 | Finance          |
|       4 | Human Resources  |
|       5 | Sales            |
+---------+------------------+
테이블: employees
테이블: departments

주의:테이블을 연결하기 위해, 연결 테이블의 열 데이터는 일치해야 하지만 열 이름은 일치할 필요는 없습니다.

연결 유형

테이블을 연결할 때, 쿼리에서 생성된 연결 유형이 결과 집합에 표시되는 행에 영향을 미칩니다. 다음과 같은 유형의 연결을 생성할 수 있습니다:

내부 연결(Inner join)

연결은 두 개의 연결 테이블 모두에서 일치하는 항목을 반환합니다. 예를 들어, employees와departments테이블이 연결되어 각 직원의 부서 이름을 표시하는 결과 집합을 생성합니다. 내부 연결에서 부서 정보가 없는 직원은 결과 집합에 포함되지 않으며, 직원이 없는 부서도 포함되지 않습니다.

다음 장에서 우리는 다음과 관련된 것을 배울 것입니다.내부 연결된더 많은 정보.

외부 연결(Outer join)

외부 연결은 내부 연결의 확장입니다. 외부 연결이 조인 테이블에 관련 행이 없더라도, 외부 연결은 이러한 행을 반환합니다. 외부 연결은 총 세 가지 유형이 있습니다: 왼쪽 연결(left join),오른쪽 연결(right join)과 완전 연결(full join)。

다음 장에서는 외부 연결의 이러한 변이를 자세히 설명할 것입니다.

교차 연결(Cross join)

교차 연결은 조인 조건이 없는 연결입니다. 한 테이블의 각 행이 다른 테이블의 각 행과 결합됩니다. 이러한 유형의 결과 집합은 카테고리적 곱 또는 교차 곱으로 불립니다. 예를 들어,employeesdepartments테이블 간의 교차 연결은 결과 집합을 생성하며, 각 가능한 직원/부서 조합에 하나의 행이 있습니다.

다음 장에서는 다음과 관련된 내용을 배울 것입니다.교차 연결의 더 많은 정보.