ОсновыСредний
UNION / UNION ALL
Объединяет результаты двух SELECT в один. UNION убирает дубли, UNION ALL оставляет все строки.
Синтаксис
SELECT col FROM t1 UNION [ALL] SELECT col FROM t2;
Объяснение
UNION требует одинакового числа колонок и совместимых типов в обоих SELECT.
UNION удаляет дубликаты (медленнее — нужна сортировка). UNION ALL просто склеивает — быстрее. Если дублей нет или они допустимы — всегда используй UNION ALL.
Пример
-- Объединить активных и VIP пользователей без дублей SELECT id, name FROM active_users UNION SELECT id, name FROM vip_users ORDER BY name;
Связанные термины
Анекдоты по теме
— Как понять, что ты начинающий? — Ты ставишь LIMIT 10, а база всё равно думает минуту. Опытный ставит правильный индекс и не ждёт.
— Почему SELECT DISTINCT работает медленно? — Потому что сначала выбирает все строки, потом сортирует и удаляет дубли. — Как ускорить? — Часто проблема не в DISTINCT, а в том, почему вообще есть дубли. Исправь модель данных.
SELECT * — это как заказать в ресторане «всё меню», когда хочешь только суп.