> 데이터 베이스 > MySQL 튜토리얼 > 동일한 테이블에 두 번 조인: 언제, 어떻게 모범 사례가 됩니까?

동일한 테이블에 두 번 조인: 언제, 어떻게 모범 사례가 됩니까?

Mary-Kate Olsen
풀어 주다: 2025-01-07 07:27:42
원래의
224명이 탐색했습니다.

Joining the Same Table Twice: When and How is it Best Practice?

동일 테이블에 두 번 조인: 모범 사례

문제:

열이 일치하는 두 테이블을 조인할 때 어떻게 두 열에 해당하는 데이터를 효율적으로 검색할 수 있습니까? 동시에?

방법 1: 두 번 조인

위의 예에서 볼 수 있듯이 동일한 테이블을 두 번 조인하면 일치하는 각 열을 기준으로 별도의 데이터 검색이 가능합니다.

SELECT t.PhoneNumber1, t.PhoneNumber2, 
       t1.SomeOtherFieldForPhone1, t2.someOtherFieldForPhone2
FROM Table1 t
JOIN Table2 t1 ON t1.PhoneNumber = t.PhoneNumber1
JOIN Table2 t2 ON t2.PhoneNumber = t.PhoneNumber2
로그인 후 복사

방법 2: OR in ON 절

대체 접근 방식은 기능적으로 입증되지는 않았지만 ON 절에서 OR를 사용하여 일치하는 여러 열에 조인을 시도합니다.

SELECT ...
FROM Table1
INNER JOIN Table2 
   ON Table1.PhoneNumber1 = Table2.PhoneNumber OR
      Table1.PhoneNumber2 = Table2.PhoneNumber
로그인 후 복사

모범 사례 :

가장 좋은 솔루션으로는 방법 1을 권장합니다. 복잡한 OR 절에 의존하지 않고 일치하는 여러 열에 해당하는 데이터를 검색하는 간단하고 명확한 방법입니다.

설계 개선을 위한 대안:

두 방법 모두 원하는 결과를 얻을 수 있습니다. , 전화번호와 같은 자연 키를 기반으로 한 테이블 간 조인에 의존하지 않도록 데이터베이스 디자인 모범 사례를 고려하는 것이 중요합니다. 자연 키는 자주 변경되어 데이터 무결성에 잠재적인 문제가 발생할 수 있습니다.

위 내용은 동일한 테이블에 두 번 조인: 언제, 어떻게 모범 사례가 됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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