SQL Except: What It Is and How to Use It

SQL оператор EXCEPT используется для получения набора результатов из одной таблицы, которые не присутствуют в другой таблице. Он сравнивает два набора результатов и возвращает только уникальные строки из первого набора, которые не присутствуют во втором наборе. Оператор EXCEPT относится к операторам множественной выборки в SQL, таким как UNION, INTERSECT.

Например, у нас есть два набора результатов из двух различных таблиц со следующей структурой и содержимым:

Таблица первого набора:

sql
CREATE TABLE table1 (
   id INT PRIMARY KEY,
   name VARCHAR(50)
);
INSERT INTO table1 VALUES (1, 'John');
INSERT INTO table1 VALUES (2, 'Mary');
INSERT INTO table1 VALUES (3, 'David');

Таблица второго набора:

sql
CREATE TABLE table2 (
   id INT PRIMARY KEY,
   name VARCHAR(50)
);
INSERT INTO table2 VALUES (1, 'John');
INSERT INTO table2 VALUES (2, 'Mary');

Теперь мы хотим выбрать из первого набора только те строки, которые не присутствуют во втором наборе (отфильтровать общие строки):

sql
SELECT id, name FROM table1
EXCEPT
SELECT id, name FROM table2;

Результат будет иметь вид:


3, David

То есть, в результат выведется только запись с id=3 и name='David', так как она не содержится в таблице table2.

Можно также использовать оператор минус (-) вместо оператора EXCEPT:

sql
SELECT id, name FROM table1
WHERE id NOT IN (SELECT id FROM table2);

Результат будет таким же, как и с использованием оператора EXCEPT.

Оператор EXCEPT может также использоваться с несколькими таблицами:

sql
SELECT id, name FROM table1
EXCEPT
SELECT id, name FROM table2
EXCEPT
SELECT id, name FROM table3;

В этом случае результат будет содержать только те записи, которые не содержатся ни в одной из таблиц.

В целом, оператор EXCEPT полезен для фильтрации наборов данных и позволяет упростить написание запросов в SQL.

Похожие вопросы на: "sql except "

Работа с типом данных c float: особенности и примеры использования
Как сделать перенос текста в CSS: основные способы и техники
Скачайте Anaconda Navigator и начните создавать проекты на Python
A to Z: Your Ultimate Guide to Everything
Defer: как это работает и как его применять на сайте?
Welcome to Tree Source - Your Trusted Supplier of Premium Trees and Plants!
Условные операторы IF в PostgreSQL: синтаксис и примеры
jQuery Toggle - создание анимации без головной боли
Как получить, найти и использовать Steam appid
Process Finished with Exit Code 1073741819 0xc0000005