>  기사  >  데이터 베이스  >  MySQL에서 FULL JOIN을 에뮬레이트하는 방법은 무엇입니까?

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

DDD
DDD원래의
2024-11-15 21:15:03799검색

How to Emulate a FULL JOIN in MySQL?

MySQL의 FULL JOIN 제한 이해

MySQL에서는 다른 관계형 데이터베이스와 달리 FULL JOIN 작업을 직접 지원하지 않습니다. . 이는 질문에 명시된 원하는 결과를 얻으려면 다른 접근 방식이 필요하다는 것을 의미합니다.

MySQL에서 FULL JOIN 에뮬레이션

MySQL에서 FULL JOIN을 에뮬레이션하려면 권장되는 방법은 다음과 같습니다. 해결 방법에는 LEFT JOIN과 RIGHT JOIN의 조합이 포함됩니다. 수행 방법은 다음과 같습니다.

SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
LEFT JOIN
  t_17
ON
  t_13.value = t_17.value
UNION ALL
SELECT
  t_13.value AS val13,
  t_17.value AS val17
FROM
  t_13
RIGHT JOIN
  t_17
ON
  t_13.value = t_17.value
WHERE
  t_13.value IS NULL
ORDER BY
  COALESCE(val13, val17)
LIMIT 30;

이 쿼리는 두 테이블(t_13 및 t_17)의 데카르트 곱을 효과적으로 생성한 다음 두 값이 모두 NULL인 행을 필터링합니다. 결과는 두 테이블의 모든 행을 포함하고 다른 테이블의 값이 일치하지 않는 행도 포함하여 가능한 모든 조합이 표시되도록 하는 테이블입니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.