SQL 기본 및 활용
🗄️ SQLSQL 활용★★★★★거의 매회

집합 연산자 — UNION 과 UNION ALL

UNION 은 중복을 없애고 정렬까지 하며, UNION ALL 은 그대로 이어 붙인다. 그래서 UNION ALL 이 빠르다.

UNIONUNION ALLINTERSECTMINUSEXCEPT

왜 그런지까지

집합 연산자를 쓰려면 양쪽의 열 개수가 같고 자료형이 서로 맞아야 한다. 열 이름은 달라도 되며 결과의 이름은 첫 번째 쿼리를 따른다.

UNION 은 중복 제거를 위해 정렬을 하므로 비용이 든다. INTERSECT 는 양쪽에 다 있는 것, EXCEPT(오라클은 MINUS)는 앞에는 있고 뒤에는 없는 것이다. ORDER BY 는 맨 마지막에 한 번만 쓸 수 있다.

돌려 보기

중복이 있을 때 둘의 행 수가 갈린다

헷갈리는 것

UNION vs UNION ALL

UNION 은 중복을 없애느라 정렬을 하고, UNION ALL 은 중복을 그대로 두고 이어 붙이기만 해서 더 빠르다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다