inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

UNION, UNION ALL

full outer join 구현 관련

1067

누잉

작성한 질문수 1

0

안녕하세요.

다름이 아니라, full outer join 구현 관련하여

left join, right join을 union하면 합집합을 구할 수 있다고 말씀주셨습니다.

허나, A, B테이블을 굳이 join하지 않고 union해도 합집합의 테이블을 구현할 수 있지 않나라는 의문이 들어 질문드립니다.

무더위 조심하시고 좋은 하루 보내세요!

sql

답변 1

1

이보민

안녕하세요 alsghdi159님,

우선 JOIN과 UNION은 동작 방식이 전혀 다르기 때문에 같은 결과를 만들수는 없습니다.

엑셀 사용하는 함수로 비유하면 JOIN은 VLOOKUP이고, UNION은 한 시트의 아래로 같은 형식의 다른 시트를 복사 붙여넣기 하는 것으로 생각하시면 됩니다. 아래 예시를 보고 합집합의 정의에 대해 조금 더 고민을 해보신 후 추가 질문이 있으시면 추가 질문 주세요 :)

예를 들어 국가별 선수 리스트 테이블과 올림픽 종목 리스트 테이블이 있는 경우. 아래와 같이 JOIN 후 UNION을 통해 합집합을 구할 수 있습니다.

JOIN을 하지 않고 UNION만 하려고 하는 경우 데이터를 단순 위아래로 병합하는 것이기 때문에 형식이 다른 두 테이블을 병합할 수 없습니다.

리트코드 1280. Students and Examinations

0

91

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

103

2

African Cities 문제관련 질문

0

64

1

SQL 코딩테스트 질문

0

231

1

HACKER RANK에서 문제찾기

0

107

2

강의 자료 다운로드

0

101

2

Asian population 문제가 없어요

0

86

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

75

2

별칭 관련해서 질문 있습니다.

0

88

2

rising temperature 문제 질문

0

106

2

해커랭크 TOP EARNERS 문제 질문

0

110

1

ON 뒤에 질문

0

105

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

209

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

212

2

CustomerID가 중복되서 나타나요

0

241

3

별칭이 전체 테이블을 못 불러와요.

0

151

2

CASE WHEN 쿼리 오류 문의

1

338

3

CASE문제풀이 질문

0

131

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

141

1

Average Population 질문

0

142

1

Revising Aggregations - The Count Function 질문

0

108

1

Average Population of Each Continent 에대해서 질문

0

199

3

w3schools 에서 쿼리 작성 질문

0

166

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

332

1