От автора: оператор EXCEPT SQL используется для объединения двух операторов SELECT и возвращает строки из первого оператора SELECT, которые не возвращаются вторым оператором SELECT. Это означает, что EXCEPT возвращает только строки, которые не доступны во втором операторе SELECT.
Как и в случае с оператором UNION, те же правила применяются при использовании оператора EXCEPT. MySQL не поддерживает оператор EXCEPT.
Синтаксис
Основной синтаксис EXCEPT следующий.
1 2 3 |
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] |
EXCEPT
1 2 3 |
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] |
Здесь условие может быть любым выражением, заданное исходя из ваших потребностей.
Пример
Рассмотрим следующие две таблицы. Таблица 1 — Таблица CUSTOMERS выглядит следующим образом.
Таблица 2 — таблица ORDERS выглядит следующим образом.
Теперь давайте объединим эти две таблицы в инструкции SELECT, как показано ниже.
1 2 3 4 5 6 7 8 9 |
SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS LEFT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID EXCEPT SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS RIGHT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID; |
В результате мы получим следующее.
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.