Database/Mysql

[MySQL][SQL] 5. Set Operation

noahkim_ 2026. 3. 7. 02:20

1. UNION

  • 두 개 이상의 Select 결과를 합쳐서 하나의 결과 집합으로 만드는 연산자 (중복 제거)
  •  위 → 아래 순서로 합침
  • ✅ 컬럼 개수, 컬럼 타입, 컬럼 순서가 맞아야 함

 

코드) Union

더보기
SELECT column1, column2
FROM table1

UNION

SELECT column1, column2
FROM table2;

 

2. UNION ALL

  • 두 개 이상의 Select 결과를 합쳐서 하나의 결과 집합으로 만드는 연산자 (중복 포함)
  • 성능이 Union보다 빠름
  • ✅ 컬럼 개수, 컬럼 타입, 컬럼 순서가 맞아야 함

 

코드) Union All

더보기
SELECT column1, column2
FROM table1

UNION ALL

SELECT column1, column2
FROM table2;

 

3. 차집합

  • MySQL에는 Except 키워드가 없으므로 Not Exists / Left Join을 사용함

 

코드) Not Exists

더보기
SELECT column1, column2
FROM table1
where not exists (select 1 from table2 t2 where t2.id = t1.id)

 

코드) Left Join

더보기
SELECT column1, column2
FROM table1
left join table2 on t1.id = t2.id
where t2.id is null;

 

 

'Database > Mysql' 카테고리의 다른 글

[MySQL][SQL] 4. Subquery  (0) 2026.03.05
[MySQL][SQL] 3-2. Inner Function: Multi Row  (0) 2026.03.05
[MySQL][SQL] 6. Join  (0) 2026.03.04
[MySQL][SQL] 3-1. Inner Function: Single Row  (0) 2026.03.04
[MySQL][SQL] 2. DML  (0) 2026.03.04