본문 바로가기
MySql

MySQL에서 FULL OUTER JOIN을 수행하는 방법은 무엇입니까?

by 베이스 공부 2020. 10. 21.
반응형

MySQL에서 전체 외부 조인을하고 싶습니다. 이게 가능해? MySQL에서 완전 외부 조인을 지원합니까?

 

해결 방법

 



두 개의 테이블 t1, t2 포함 :

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

위의 쿼리는 FULL OUTER JOIN 연산이 중복 행을 생성하지 않는 특수한 경우에 작동합니다. 위의 쿼리는 UNION 집합 연산자를 사용하여 쿼리 패턴에 의해 도입 된 중복 행을 제거합니다. 두 번째 쿼리에 안티 조인 패턴을 사용하여 중복 행이 발생하지 않도록 한 다음 UNION ALL 집합 연산자를 사용하여 두 집합을 결합 할 수 있습니다. FULL OUTER JOIN이 중복 행을 반환하는보다 일반적인 경우 다음과 같이 할 수 있습니다.

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
WHERE t1.id IS NULL

 

참조 페이지 https://stackoverflow.com/questions/4796872

 

 

반응형

댓글