본문 바로가기

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

UNION

UNION

 

 

UNION

 

  • 서로 다른 테이블의 데이터를 하나로 합칠 때 사용
    • 중복 제거
SELECT *
FROM 테이블 1

UNION

SELECT *
FROM 테이블 2;

 

 

UNION ALL

 

  • 서로 다른 테이블의 데이터를 하나로 합칠 때 사용
    • 중복 포함
SELECT *
FROM 테이블 1

UNION ALL

SELECT *
FROM 테이블 2;

 


HackerRank

 

 

Symmetric Pairs

 

SELECT X
     , Y
FROM Functions
WHERE X = Y
GROUP BY X, Y
HAVING COUNT(*) > 1

UNION

SELECT A.X
     , A.Y
FROM Functions AS A
     INNER JOIN Functions AS B ON A.X = B.Y AND A.Y = B.X
WHERE A.X < A.Y

ORDER BY X;
더보기

1.
X, Y가 같은 경우
UNION
X, Y가 다른 경우

2.
X. Y가 같은 경우
2개 이상(1개 초과)인 것만 필터링
GROUP BY, HAVING 사용

3.
X, Y가 다른 경우
X₁ = Y₂ AND X₂ = Y₁
SELF JOIN(INNER JOIN) 사용
X < Y

4.
ORDER BY는 UNION 이후에 사용

 

 

'인프런 > [백문이불여일타] 데이터 분석을 위한 중급 SQL' 카테고리의 다른 글

JOIN  (1) 2025.08.29
CASE  (0) 2025.08.28
COUNT / SUM / AVG / MIN / MAX / GROUP BY  (0) 2025.08.27