UNION / UNION ALL
Объединяет результаты двух SELECT в один. UNION убирает дубли, UNION ALL оставляет все строки.
SELECT col FROM t1 UNION [ALL] SELECT col FROM t2;
Объяснение
Пример
-- Объединить активных и VIP пользователей без дублей SELECT id, name FROM active_users UNION SELECT id, name FROM vip_users ORDER BY name;
Связанные термины
Анекдоты по теме
— Почему важно закрывать курсоры? — Открытый курсор держит транзакцию и память. — Что будет, если не закрыть? — При тысяче открытых курсоров база начнёт задыхаться. — Как с файловыми дескрипторами? — Точная аналогия.
Собеседование: — Напишите запрос для нахождения второй по величине зарплаты. Кандидат пишет подзапрос. — А можно без подзапроса? Пишет DENSE_RANK(). — А одной строкой? Пишет ORDER BY salary DESC LIMIT 1 OFFSET 1. Интервьюер: — Молодец. Это был вопрос на знание разных подходов, а не на правильный ответ.
ORM говорит SQL: — Милый, я скрываю твою сложность за красивыми объектами. SQL: — А я из-за тебя генерирую запросы с 50 JOIN, которые выполняются час.