MySQL JOIN 유형 간의 차이점에 대한 심층적인 이해
MySQL의 JOIN 절을 사용하면 공통 필드 값을 일치시켜 여러 테이블의 데이터를 결합할 수 있습니다. 사용 사례에 따라 여러 가지 JOIN 유형을 사용할 수 있습니다.
INNER JOIN(내부 연결)
INNER JOIN은 두 테이블 모두에 일치하는 항목이 있는 경우에만 행을 반환합니다. 집합 교차 작업을 수행하고 두 테이블에 속한 레코드를 검색합니다.
LEFT JOIN(왼쪽 조인)
LEFT JOIN은 오른쪽 테이블에 일치 항목이 있는지 여부에 관계없이 왼쪽 테이블의 모든 행을 반환합니다. 오른쪽 테이블에서 누락된 일치 항목을 NULL 값으로 채웁니다.
RIGHT JOIN(오른쪽 조인)
RIGHT JOIN은 LEFT JOIN과 유사하지만 왼쪽 테이블의 모든 행 대신 오른쪽 테이블의 모든 행을 반환합니다. 마찬가지로 왼쪽 테이블에서 누락된 일치 항목을 나타내기 위해 NULL 값이 사용됩니다.
FULL JOIN(완전 연결)
FULL JOIN은 LEFT 및 RIGHT 외부 조인의 결과를 결합하여 두 테이블의 모든 행을 반환합니다. 두 테이블 중 일치하지 않는 행은 NULL 값으로 채워집니다.
예
다음 데이터가 포함된 TableA 및 TableB 두 테이블을 생각해 보세요.
<code>**TableA** | id | firstName | lastName | |---|---|---| | 1 | arun | prasanth | | 2 | ann | antony | | 3 | sruthy | abc | **TableB** | id2 | age | Place | |---|---|---| | 1 | 24 | kerala | | 2 | 24 | usa | | 3 | 25 | ekm | | 5 | 24 | chennai |</code>
INNER JOIN 예
<code class="language-sql">SELECT * FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;</code>
결과:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
LEFT JOIN 예시
<code class="language-sql">SELECT * FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;</code>
결과:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
RIGHT JOIN 예시
<code class="language-sql">SELECT * FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;</code>
결과:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
NULL | NULL | 24 | chennai |
위 내용은 MySQL에서 내부, 왼쪽, 오른쪽 및 전체 결합은 어떻게 다릅니 까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!