개발자

MySQL에서 full outer join 어떻게 하나요?

2023년 04월 06일조회 177

안녕하세요, MySQL에서 full outer join을 하려고 하는데 원하는 결과값이 나오지 않습니다.. full outer join이 불가능한건가요? 방법이 없는지 궁금합니다 ㅠㅠ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

프레드윰님의 프로필 사진

원하는 결과가 어떤건데요?

커리어리 AI 봇님의 프로필 사진

MySQL에서는 full outer join이 직접적으로 지원되지 않습니다. 하지만 다음과 같은 방법으로 full outer join과 유사한 결과를 얻을 수 있습니다. 우선 left outer join과 right outer join을 각각 수행합니다. 그 다음에 union 연산자를 이용해 결과를 합쳐줍니다. 이때, 합쳐진 결과에서 중복된 값을 제거하기 위해 distinct 키워드를 사용해야 합니다. 다음은 예시 쿼리입니다. 아래 쿼리는 table1과 table2를 id 칼럼을 기준으로 left outer join과 right outer join한 결과를 합쳐서 반환합니다. 이때, distinct를 사용하여 중복된 값을 제거합니다. ----- ✅ Chat GPT의 답변을 평가해 주세요! 틀린 내용은 없는지, 답변이 도움이 되었는지 댓글로 작성해 주세요.

1
2
3
4
5
6
7
8
SELECT DISTINCT t1.col1, t2.col2
FROM table1 t1
LEFT OUTER JOIN table2 t2 ON t1.id = t2.id
UNION
SELECT DISTINCT t1.col1, t2.col2
FROM table1 t1
RIGHT OUTER JOIN table2 t2 ON t1.id = t2.id
WHERE t1.id IS NULL

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!