> 데이터 베이스 > MySQL 튜토리얼 > `FROM Table1 LEFT JOIN Table2`와 `FROM Table2 RIGHT JOIN Table1`은 항상 상호 교환 가능합니까?

`FROM Table1 LEFT JOIN Table2`와 `FROM Table2 RIGHT JOIN Table1`은 항상 상호 교환 가능합니까?

DDD
풀어 주다: 2025-01-14 15:46:44
원래의
803명이 탐색했습니다.

Are `FROM Table1 LEFT JOIN Table2` and `FROM Table2 RIGHT JOIN Table1` Always Interchangeable?

SQL LEFT JOINRIGHT JOIN: 항상 동일합니까?

SQL의 LEFT JOINRIGHT JOIN 절은 두 테이블의 데이터를 결합합니다. 어떤 경우에는 서로 바꿔 쓸 수 있는 것처럼 보이지만 중요한 차이점이 있습니다.

두 개의 테이블을 살펴보겠습니다.

<code class="language-sql">CREATE TABLE Table1 (id INT, Name VARCHAR(10));
CREATE TABLE Table2 (id INT, Name VARCHAR(10));</code>
로그인 후 복사

채우기 Table1:

<code>Id | Name
---|-----
1  | A
2  | B</code>
로그인 후 복사

그리고 Table2:

<code>Id | Name
---|-----
1  | A
2  | B
3  | C</code>
로그인 후 복사

쿼리:

<code class="language-sql">SELECT *
FROM Table1
LEFT JOIN Table2 ON Table1.id = Table2.id;

SELECT *
FROM Table2
RIGHT JOIN Table1 ON Table1.id = Table2.id;</code>
로그인 후 복사

이 특정 사례에서는 동일한 결과가 나옵니다. 두 행 모두 Table1.id = Table2.id.

을 기준으로 일치합니다.

그러나 다음 대안을 고려해 보십시오 LEFT JOIN:

<code class="language-sql">SELECT *
FROM Table2
LEFT JOIN Table1 ON Table2.id = Table1.id;</code>
로그인 후 복사

이 쿼리는 Table2에 일치하지 않는 행을 포함하여 Table1의 모든 행을 반환합니다. RIGHT JOIN(예: FROM Table1 RIGHT JOIN Table2)은 반대로 동작하여 일치하지 않는 행을 생략합니다.

따라서 FROM Table1 LEFT JOIN Table2FROM Table2 RIGHT JOIN Table1는 특정 조건에서 비슷한 결과를 생성할 수 있지만 조인 방향은 출력의 완성도에 큰 영향을 미칩니다. 보편적으로 상호 교환할 수는 없습니다.

위 내용은 `FROM Table1 LEFT JOIN Table2`와 `FROM Table2 RIGHT JOIN Table1`은 항상 상호 교환 가능합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿