

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# JOIN 절
<a name="join-clause"></a>

SQL JOIN 절은 공통 필드를 기반으로 두 개 이상의 테이블에서 데이터를 결합하는 데 사용됩니다. 지정된 조인 메서드에 따라 결과가 변경될 수도 있고 변경되지 않을 수도 있습니다. 왼쪽 및 오른쪽 외부 조인은 다른 테이블에서 일치 항목이 발견되지 않을 때 조인된 테이블 중 하나에서 값을 유지합니다.

JOIN 유형과 조인 조건의 조합에 따라 최종 결과 집합에 포함되는 행이 결정됩니다. 그런 다음 SELECT 및 WHERE 절은 반환되는 열과 행을 필터링하는 방법을 제어합니다. 다양한 JOIN 유형과 이를 효과적으로 사용하는 방법을 이해하는 것은 SQL에서 매우 중요한 기술입니다. 유연하고 강력한 방식으로 여러 테이블의 데이터를 결합할 수 있기 때문입니다.

## 구문
<a name="join-clause-syntax"></a>

```
SELECT column1, column2, ..., columnn
FROM table1
join_type table2
ON table1.column = table2.column;
```

## 파라미터
<a name="join-clause-parameters"></a>

 *SELECT column1, column2, ..., columnN*   
결과 집합에 포함할 열입니다. JOIN과 관련된 테이블 중 하나 또는 둘 다에서 열을 선택할 수 있습니다.

 *FROM 테이블1*   
JOIN 작업의 첫 번째(왼쪽) 테이블입니다.

 *[조인 \| 내부 조인 \| 왼쪽 [외부] 조인 \| 오른쪽 [외부] 조인 \| 전체 [외부] 조인] 테이블2: *   
수행할 JOIN의 유형입니다. JOIN 또는 INNER JOIN은 두 테이블에서 일치하는 값이 있는 행만 반환합니다.  
왼쪽 [OUTER] JOIN은 왼쪽 테이블의 모든 행을 오른쪽 테이블의 일치하는 행과 함께 반환합니다.  
RIGHT [OUTER] JOIN은 왼쪽 테이블의 일치하는 행과 함께 오른쪽 테이블의 모든 행을 반환합니다.  
FULL [OUTER] JOIN은 일치하는 항목이 있는지 여부에 관계없이 두 테이블의 모든 행을 반환합니다.  
CROSS JOIN은 두 테이블에서 행의 데카르트 곱을 생성합니다.

 *ON table1.column = table2.column*   
두 테이블의 행이 일치하는 방식을 지정하는 조인 조건입니다. 조인 조건은 하나 이상의 열을 기반으로 할 수 있습니다.

 *WHERE 조건: *   
지정된 조건에 따라 결과 세트를 추가로 필터링하는 데 사용할 수 있는 선택적 절입니다.

## 예제
<a name="Join_examples"></a>

다음 예는 USING 절을 사용한 두 테이블 간의 조인입니다. 이 경우 listid 및 eventid 열이 조인 열로 사용됩니다. 결과는 5개 행으로 제한됩니다.

```
select listid, listing.sellerid, eventid, listing.dateid, numtickets
from listing join sales
using (listid, eventid)
order by 1
limit 5;

listid | sellerid | eventid | dateid | numtickets
-------+----------+---------+--------+-----------
1      | 36861    | 7872    | 1850   | 10
4      | 8117     | 4337    | 1970   | 8
5      | 1616     | 8647    | 1963   | 4
5      | 1616     | 8647    | 1963   | 4
6      | 47402    | 8240    | 2053   | 18
```