INTERSECT
Часть раздела Продвинутый уровень путешествия по SQL на Coddy. Урок 17 из 27.
INTERSECT возвращает только строки, которые присутствуют в обоих результирующих наборах. Как и UNION, он удаляет дубликаты и требует совпадающих столбцов с каждой стороны.
SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_usersЭто все адреса email, которые одновременно подписаны на рассылку и принадлежат премиум-пользователям, без написания join.
Зачем утруждаться, если JOIN тоже может это сделать? INTERSECT короче, когда обе стороны — простые SELECT и сопоставление выполняется по всей строке, а не только по id.
Задание
ЛегкоДоступные таблицы и столбцы:
newsletter:activepremium:plan
Верните адреса электронной почты, которые указаны как active подписчиков newsletter (active = 1) и как пользователей premium с тарифом 'pro'. Отсортируйте в алфавитном порядке.
Попробуйте сами
-- фильтровать каждую сторону перед INTERSECT
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Продвинутый уровень
Потренируйтесь самостоятельно: Песочница SQL