15_SQL. Działania na zbiorach SQL: operator INTERSECT

Operator INTERSECT określa część wspólna zbiorów. Używając tego operatora uzyskamy wiersze wspólne dla wszystkich łączonych tabel wymienionych w klauzuli SELECT. 

Relacyjne bazy danych umożliwiają działania na zbiorach SQL Oracle. Bazy danych składają się z rekordów, które podlegają grupowaniu, segregowaniu, wydzielaniu i szukaniu części wspólnych.

Prowadząc  działania na zbiorach SQL wykorzystuje się operatory teoriomnogościowe.

Skorzystamy z tabel EMPLOYEES, JOBS z bezpłatnej bazy Oracle HR dostępnej tutaj:

http://www.oracle.com/technetwork/database/express-edition/downloads/index.html

 Instrukcja INTERSECT 

Spróbujmy znaleźć wspólne wartości dla tabel EMPLOYEES (SALARY), JOBS (MIN_SALARY) stosując operator INTERSECT

SELECT SALARY

FROM EMPLOYEES

INTERSECT

SELECT MIN_SALARY

FROM JOBS;

Otrzymujemy tabelę wynikową:

Spróbujmy teraz wyświetlić kody departamentów znajdujące się w tabelach JOB_HISTORY oraz DEPARTMENTS.

SELECT DEPARTMENT_ID

FROM DEPARTMENTS

INTERSECT

SELECT DEPARTMENT_ID

FROM JOB_HISTORY;

Otrzymujemy tabelę wynikową:

Operator INTERSECT wyodrębnił część wspólną tabel JOB_HISTORY oraz DEPARTMENTS.