반응형
출처 : https://stackoverflow.com/questions/4796872/how-to-do-a-full-outer-join-in-mysql
MySQL에서 FULL OUTER JOIN 하는 방법?
저는 MySQL에서 Full Outer Join을 하고 싶습니다. 이것이 가능할까요? MySQL에 의해 Full Outer Join이 지원되나요?
14개의 답변 중 1개의 답변
MySQL에 full join 구문을 없습니다만 확실히 full join을 똑같이 할 수 있습니다.
다음 코드 샘플은 두개의 테이블 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
set 연산을 하는데 쿼리 패턴에 의해 소개된 중복된 열을 제거합니다. 우리는 2번째 쿼리(방법으)로 anti-join 패턴을 사용하여 중복된 행을 제거할 수 있고 두 개의 집합을 함치기 위해 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
반응형
'SQL' 카테고리의 다른 글
mysql에서 문자열을 float으로 어떻게 형변환 할 수 있을까요? (0) | 2020.10.05 |
---|---|
INSERT INTO … SELECT FROM … ON DUPLICATE KEY UPDATE (0) | 2020.02.26 |
SELECT가 많은 칼럼 필드들을 가질 때 터미널에 최고의 방법으로 표시하는 방법은? (0) | 2014.10.27 |
mysql 반올림(round) 함수 버그 및 해결방법 (2) | 2014.01.07 |
MYSQL(Sybase)에서 Attempt to initiate a new SQL Server operation with results pending. 오류가 뜰 때 (0) | 2010.04.09 |