UNION, INTERSECT, EXCEPT
156 мин
Иногда результаты нескольких запросов нужно объединить в один список или сравнить друг с другом. Для этого есть операции над множествами.
Условие: столбцы должны совпадать
В объединяемых запросах должно быть одинаковое количество столбцов совместимых типов. Имена столбцов в результате берутся из первого запроса.
UNION и UNION ALL
Все люди университета — студенты и преподаватели — в одном списке:
university
UNION ALL— складывает всё, повторы остаются (быстрее);UNION— убирает повторы.
university
INTERSECT — есть в обоих
Фамилии, которые встречаются и у студентов, и у преподавателей:
university
EXCEPT — есть в первом, нет во втором
Фамилии, которые есть у студентов, но нет у преподавателей:
university
1Упражнение
Выведите одним списком без повторов все города, которые встречаются у покупателей (customers.city) и в заказах (orders.city).
2Упражнение
Выведите customer_id покупателей, которые делали заказы, но ни разу не писали отзывов (используйте EXCEPT).
Запомните
UNION ALL— сложить,UNION— сложить без повторов.INTERSECT— общая часть,EXCEPT— разница.- Количество и типы столбцов в запросах должны совпадать.