INTERSECT возвращает строки, присутствующие в результатах обоих SELECT. Обычно дубликаты удаляются; INTERSECT ALL, если поддерживается СУБД, сохраняет общую кратность.
Что делает оператор INTERSECT?
INTERSECT возвращает строки, присутствующие в результатах обоих SELECT. Обычно дубликаты удаляются; INTERSECT ALL, если поддерживается СУБД, сохраняет общую кратность.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
INTERSECT возвращает строки, присутствующие в результатах обоих SELECT. Обычно дубликаты удаляются; INTERSECT ALL, если поддерживается СУБД, сохраняет общую кратность.
SELECT email FROM customers
INTERSECT
SELECT email FROM subscribers;
Обе выборки должны иметь одинаковое число колонок и совместимые типы. Сравнивается вся строка результата, а не только предполагаемый ключ. Для ALL количество экземпляров строки равно меньшей её кратности в двух выборках. Порядок вывода не гарантирован без внешнего ORDER BY; это операция над результатами, а не JOIN с объединением колонок.