От автора: оператор INTERSECT SQL используется для объединения двух инструкций SELECT, но возвращает только строки из первой инструкции SELECT, которые совпадают со строкой из второй инструкции SELECT. Это означает, что INTERSECT возвращает только строки общие для двух инструкций SELECT.
При использовании INTERSECT, применяются те же правила, что и при использовании оператора UNION. MySQL не поддерживает оператор INTERSECT.
Синтаксис
Основной синтаксис INTERSECT следующий.
1 2 3 |
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] |
INTERSECT
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 INTERSECT SELECT ID, NAME, AMOUNT, DATE FROM CUSTOMERS RIGHT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID; |
Это даст следующий результат:
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.