>데이터 베이스 >MySQL 튜토리얼 >INNER, LEFT, RIGHT 및 FULL JOIN은 SQL에서 어떻게 다릅니까?

INNER, LEFT, RIGHT 및 FULL JOIN은 SQL에서 어떻게 다릅니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-25 15:07:09696검색

How Do INNER, LEFT, RIGHT, and FULL JOINs Differ in SQL?

SQL JOIN 심층 이해: INNER, LEFT, RIGHT, FULL JOIN에 대한 자세한 설명

SQL JOIN은 데이터 검색의 핵심 작업으로, 공통 필드를 기반으로 여러 테이블의 행을 결합할 수 있습니다. MySQL에는 선택할 수 있는 여러 JOIN 유형이 있으며, 각 유형은 일치하는 행과 일치하지 않는 행을 처리하는 특정 방법을 제공합니다.

SQL JOIN 유형별 차이점

INNER JOIN

  • 일치하는 조건에 따라 두 테이블을 조인합니다.
  • 두 테이블 모두에서 공통 필드가 일치하는 행만 반환합니다.

왼쪽 조인

  • 일치하는 조건에 따라 두 테이블을 조인합니다.
  • 오른쪽 테이블에 일치하는 행이 없더라도 왼쪽 테이블의 모든 행을 반환합니다.
  • 오른쪽 테이블의 일치하지 않는 행은 NULL 값으로 채워집니다.

오른쪽 가입

  • LEFT JOIN과 유사하지만 왼쪽 테이블에 일치하는 행이 없더라도 오른쪽 테이블의 모든 행을 반환합니다.
  • 왼쪽 테이블의 일치하지 않는 행은 NULL 값으로 채워집니다.

전체 조인

  • LEFT와 RIGHT OUTER JOIN을 결합한 결과입니다.
  • 일치 여부에 관계없이 두 테이블의 모든 행을 반환합니다.
  • 두 테이블 모두에서 일치하지 않는 행은 NULL 값으로 채워집니다.

실제 사례

다음 예제 테이블을 고려해보세요.

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>

내부 조인:

<code>SELECT *
FROM 表A
INNER JOIN 表B
ON 表A.id = 表B.id2;</code>

결과:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm

왼쪽 조인:

<code>SELECT *
FROM 表A
LEFT JOIN 表B
ON 表A.id = 表B.id2;</code>

결과:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
New Abc NULL NULL

오른쪽 조인:

<code>SELECT *
FROM 表A
RIGHT JOIN 表B
ON 表A.id = 表B.id2;</code>

결과:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
NULL NULL 24 Chennai

전체 조인:

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>

결과:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
New Abc NULL NULL
NULL NULL 24 Chennai

위 내용은 INNER, LEFT, RIGHT 및 FULL JOIN은 SQL에서 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.