Так как выборка по сути является множеством, то и доступные операции над ними соответствующие:
· UNION - объединение, в конечной выборке записи из обоих запросов;
· INTERSECT - пересечение, в конечной выборке записи входящие в оба запроса;
· EXCEPT - исключение, в конечной выборке записи входящие только в первый запрос.
Запросы участвующие в таких операциях должны следовать нескольким условиям. Иметь одинаковое число столбцов, соответствующие столбцы должны быть одного типа. Тип данных столбца должен быть простым, т.е. не разрешаются типы подобные blob. MySQL 5 поддерживает только UNION, в Oracle EXCEPT для других целей, а для исключения используется MINUS.
-- from dual только для Oracle-- в MySQL нельзя заключить -- запросы в круглые скобкиselect 1 as i from dual UNIONselect 2 as i from dual UNION -- попробуйте также INTERSECT и EXCEPT select 2 as i from dual UNIONselect 3 as i from dual; По умолчанию в результирующую выборку попадают только уникальные записи. Для включения всех записей используется ключевое слово ALL после имени операции. Например, в следующем примере будет две записи со значением 2.
select 1 as i from dual UNIONselect 2 as i from dual UNION ALL select 2 as i from dual UNIONselect 3 as i from dual;