조인 키워드의 기능은 특정 조건에 따라 여러 테이블을 조인하여 여러 테이블에서 데이터를 얻을 수 있도록 하는 것입니다.
추천 과정: MySQL 튜토리얼.
on 조건과 where 조건을 사용하여 조인을 수행할 수 있습니다. 여기서는 주로 둘 사이의 차이점에 대해 설명합니다.
다음과 같이 테스트용으로 두 개의 간단한 테이블을 만들고 데이터를 추가합니다. 테이블 이름은 id_name이고 다른 테이블 이름은 id_age
먼저 조건을 추가하지 않고 결과를 살펴보세요. - t2.age ='22'
SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id
get
1. 여기서는 예시로 Join 조건을 추가할 곳을 먼저 실행합니다. - t2.age ='22'
SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id where t2.age ='22'
결과는 다음과 같습니다
왼쪽 조인 작업이 완료된 후 where 조건을 얻을 수 있습니다. filtering
2. plus 조건으로 실행한 경우 - t2.age ='22'
SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id and t2.age ='22'
결과는 다음과 같습니다
on 조건은 Left Join 전 조건을 필터링한 후 Two table Join을 통해 얻을 수 있습니다. 연산
여기에서는 내부 조인의 특성으로 인해 이 두 조건으로 얻은 결과는 동일하지만 내부 프로세스는 이전 작업과 비교하여 여전히 다릅니다
. on 조건에 따라 다중 테이블 조인 작업을 수행하고 임시 테이블을 생성한 다음 where
어느 쪽 또는 어디가 더 효율적인지 필터링합니다. 내부 조인인 경우 on 및 생성 위치는 다음과 같습니다. 동일하지만 어느 쪽이 더 효율적이고 빠른지는 알 수 없습니다. 외부 조인(왼쪽 또는 오른쪽)이 있으면 차이가 있을 것입니다. 왜냐하면 on이 먼저 적용되고 일부 데이터는 미리 필터링되었기 때문입니다. where는 나중에 적용됩니다.
Comprehensive Where보다 먼저 실행되기 때문에 넣는 것이 더 효율적인 것 같습니다.
먼저 데카르트 곱을 한 다음 조인이 내부이면 필터링합니다. 계속해서 아래로 조인하면 on으로 필터링된 왼쪽 기본 테이블의 데이터가 다시 추가되고
on이 최종 필터링이 아니기 때문입니다. 나중에 다시 추가될 수 있으며 최종 필터링은 어디에 있습니다.
위 내용은 SQL에서 조인과 위치의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!