Рассмотрим следующий тип операций над множествами - пересечение строк INTERSECT
.
При использовании INTERSECT
в результате запроса остаются строки, которые присутствуют в результате и первого, и второго запросов.
Перейдем сразу к примеру.
SELECT *
FROM table1
value |
---|
1 |
3 |
5 |
SELECT *
FROM table2
value |
---|
2 |
3 |
4 |
SELECT value
FROM table1
INTERSECT
SELECT value
FROM table2
# | value |
---|---|
1 | 3 |
Следует отметить, что на практике INTERSECT
используется довольно редко. Зачастую требуется не сравнить все столбцы запросов между собой, а лишь проверить наличие записи в другой таблице. Для этой задачи лучше подходят подзапросы IN
, EXISTS
или просто присоединение таблицы.