union/union all

김하경·2025년 8월 12일

SELECT '사과' AS fruit
UNION ALL
SELECT '바나나';

UNION / UNION ALL 이란?

  • SQL에서 두 개 이상의 쿼리 결과를 위아래로 합치는 기능
  • 비유: 두 친구가 각자 적어온 과일 목록을 하나로 합치는 것
    • UNION = 중복 제거 후 합침
    • UNION ALL = 중복 포함해서 합침

SELECT 컬럼1, 컬럼2 ...
FROM 테이블A
UNION [ALL]
SELECT 컬럼1, 컬럼2 ...
FROM 테이블B;

1. 왜 FROM이 없을 수 있나?

SQL에서 꼭 테이블에서만 데이터를 가져와야 하는 건 아닙니다.

  • 그냥 상수 값(literal value)만 SELECT할 수도 있어요.
  • 예:
sql
CopyEdit
SELECT '사과';
SELECT 1;
SELECT NOW();

이렇게 하면 특정 테이블에서 데이터를 읽지 않고, DB가 우리가 지정한 값만 반환합니다.


2. 그럼 FROM은 언제 필요?

  • 실제 테이블에서 데이터를 읽을 때
sql
CopyEdit
SELECT name FROM fruits;
  • 혹은 가상 테이블(WITH나 서브쿼리)에서 읽을 때

0개의 댓글