Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Оператор для наборов данных EXCEPT советы и хитрости Oracle

Платформа Oracle не поддерживает оператор EXCEPT. Однако в этой системе есть альтернативный оператор для работы с наборами данных — MINUS, который имеет аналогичную функциональность.

SELECT инструкция MINUS;

Предложения MINUS DISTINCT и MINUS ALL не поддерживаются. Платформа Oracle не поддерживает использование MINUS в запросах в следующих ситуациях.

  • Запросы содержат столбцы с типами данных LONG, BLOB, CLOB, BFILE или VARRAY.
  • Запросы содержат предложение FOR UPDATE.
  • Запросы содержат выражения с использованием коллекций TABLE.

Если первый запрос в операторе для наборов данных содержит какие-либо выражения в списке отбора элементов, включите предложения AS и присвойте этим выражениям псевдонимы. Кроме того, только последний запрос оператора работы с наборами может содержать предложение ORDER BY.

Например, можно сгенерировать список идентификаторов складов (stores), для которых нет записей в таблице продаж (sales).

SELECT
stor_id
FROM stores MINUS;

SELECT
stor_id
FROM sales;

Команда MINUS функционально сходна с запросом NOT IN. Следующий запрос возвращает те же результаты, что и предыдущий.

SELECT
stor_id
FROM stores
WHERE stor_id NOT IN
(SELECT stor_id FROM sales);

Источник