MySQL에서 FULL OUTER JOIN을 에뮬레이트하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-15 15:59:03
원래의
932명이 탐색했습니다.

How to Emulate a FULL OUTER JOIN in MySQL?

MySQL FULL JOIN 에뮬레이션

MySQL에서는 FULL OUTER JOIN을 직접 지원하지 않으면 문제가 발생할 수 있습니다. 이 제한을 극복하려면 일반적인 해결 방법이 필요합니다.

설명:

MySQL은 LEFT JOIN 및 RIGHT JOIN 작업을 사용하지만 FULL JOIN은 사용하지 않습니다. 따라서 FULL JOIN을 에뮬레이션하려면 다음 조인의 조합이 필요합니다.

접근 방식:

  1. LEFT JOIN:

    • 공통 필드 "값"과 일치하는 테이블 t_13과 t_17 사이에 LEFT JOIN을 수행합니다.
    • 이 작업은 t_13의 모든 행을 t_17의 해당 행과 쌍을 이루거나, 있는 경우 NULL 값과 쌍을 이룹니다. 일치하는 항목이 없습니다.
  2. RIGHT JOIN:

    • 테이블 t_13과 t_17 간에 RIGHT JOIN을 수행합니다. LEFT JOIN이지만 테이블 순서가 반대입니다.
    • 이 단계에서는 t_17의 모든 행을 t_13의 해당 행과 일치시키거나, 일치하는 항목이 없으면 NULL 값과 일치시킵니다.
  3. UNION ALL:

    • UNION ALL 연산을 사용하여 LEFT JOIN과 RIGHT JOIN의 결과를 결합합니다.
    • 이렇게 하면 두 JOIN에서 일치하는 행이 병합됩니다. 테이블을 삭제하고 중복 행을 유지합니다.
  4. WHERE 절:

    • WHERE 절을 추가하여 테이블에서 NULL 값을 필터링합니다. "val13" 필드입니다.
    • 이렇게 하면 두 테이블 모두 NULL을 반환하여 일치 항목이 없음을 나타내는 행이 제거됩니다.
  5. ORDER BY 및 LIMIT:

    • 결합된 결과를 "val13" 및 "val17"의 병합된 값으로 정렬하여 단일 정렬 목록을 얻습니다.
    • 선택적으로 LIMIT 절을 적용하여 행 수를 제한합니다. 표시됩니다.

위 내용은 MySQL에서 FULL OUTER JOIN을 에뮬레이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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