[MySQL] UNION (distinct) vs UNION ALL 차이

2023. 6. 25. 22:59Database/MySQL

  • 공통점
    • 두 문법 모두 쿼리 결과를 합쳐준다
    • 둘다 그리 좋은 SQL은 아니고, 테이블을 통합하는게 좋음
    • UNION ALL 보다는 UNION 중복 제거하는 쿼리가 당연히 느림
  • UNION (distinct)
    • 중복을 제거하여 합쳐준다
SELECT 1 AS COL1, 100 AS MONEY UNION 
SELECT 1 AS COL1, 100 AS MONEY UNION 
SELECT 2 AS COL1, 200 AS MONEY UNION 
SELECT 2 AS COL1, 200 AS MONEY UNION 
SELECT 3 AS COL1, 300 AS MONEY UNION 
SELECT 3 AS COL1, 300 AS MONEY UNION 
SELECT 4 AS COL1, 400 AS MONEY

  • UNION ALL
    • 중복을 제거하지 않고 모두 합친다
SELECT 1 AS COL1, 100 AS MONEY UNION 
SELECT 1 AS COL1, 100 AS MONEY UNION 
SELECT 2 AS COL1, 200 AS MONEY UNION 
SELECT 2 AS COL1, 200 AS MONEY UNION 
SELECT 3 AS COL1, 300 AS MONEY UNION 
SELECT 3 AS COL1, 300 AS MONEY UNION 
SELECT 4 AS COL1, 400 AS MONEY

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

[MySQL] Temporary Table(임시테이블)  (0) 2023.07.23
[DB] SQL과 NoSQL 개념  (0) 2023.07.02
[MySQL] 트랜잭션 죽이기  (0) 2023.06.24
[MYSQL] SQL 실행 순서  (0) 2023.06.23
[MYSQL] SUM(컬럼명) OVER(정렬)  (0) 2023.06.21