На пересечении: INTERSECT

Объединение данных в SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Диаграмма Венна для INTERSECT

Изображение с тремя диаграммами Венна, две из которых затушёваны. В фокусе только диаграмма INTERSECT: два пересекающихся круга, где общая часть выделена зелёным.

Объединение данных в SQL

Схема работы INTERSECT

Диаграмма с двумя таблицами — левой и правой. Справа показано, что происходит при выполнении операции INTERSECT над этими таблицами.

Объединение данных в SQL

Синтаксис INTERSECT

SELECT id, val
FROM left_table

INTERSECT
SELECT id, val FROM right_table;
Объединение данных в SQL

INTERSECT и INNER JOIN по двум столбцам

Синтаксис INTERSECT

SELECT *
FROM left_table
INTERSECT
SELECT *
FROM right_table;

Диаграмма с двумя таблицами — левой и правой. Справа показано, что происходит при выполнении операции UNION над этими таблицами.

Синтаксис INNER JOIN

SELECT l.id, l.val
FROM left_table AS l
INNER JOIN right_table AS r
  ON l.id = r.id
      AND l.val = r.val;

Диаграмма с двумя таблицами — левой и правой. Справа показано, что происходит при выполнении операции INNER JOIN над этими таблицами.

Объединение данных в SQL

Страны с премьер-министрами и президентами

SELECT country as intersect_country
FROM prime_ministers
INTERSECT
SELECT country
FROM presidents;
| intersect_country |
|-------------------|
| Egypt             |
| Portgual          |
| Pakistan          |
| India             |
Объединение данных в SQL

INTERSECT по двум полям

SELECT country, prime_minister AS leader
FROM prime_ministers
INTERSECT
SELECT country, president
FROM presidents;
|-----------|----------|
| country   | leader   |
|-----------|----------|
|-----------|----------|
Объединение данных в SQL

Страны с премьер-министрами и монархами

SELECT country, prime_minister AS leader
FROM prime_ministers
INTERSECT
SELECT country, monarch
FROM monarchs;
|---------|--------------------|
| country | leader             |
|---------|--------------------|
| Brunei  | Hassanal Bolkiah   |
| Oman    | Haitham bin Tarik  |
|---------|--------------------|
Объединение данных в SQL

Давайте потренируемся!

Объединение данных в SQL

Preparing Video For Download...