Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД MK1 .doc
Скачиваний:
5
Добавлен:
23.11.2019
Размер:
132.61 Кб
Скачать

15. Операции реляционной алгебры

Основные восемь операций реляционной алгебры были предложены Э.Коддом:

- Объединение

- Пересечение

- Вычитание

- Декартово произведение

- Выборка

- Проекция

- Соединение

- Деление

Объединение

<запрос1> UNION [ALL] <запрос2> UNION [ALL] <запрос3> .....;

Пересечение

[SQL Заявление 1] INTERSECT [SQL Заявление 2]

Вычитание

[SQL Заявление 1] EXCEPT [SQL Заявление 2]

Декартово произведение

Оператор перекрёстного соединения, или декартова произведения CROSS JOIN соединяет две таблицы. Порядок таблиц для оператора неважен, поскольку оператор является симметричным.

Выборка

SELECT — оператор языка SQL, возвращающий набор данных (выборку) из базы.

Проекция

SELECT DISTINCT используется для возврата только разных значений из таблицы.

SELECT DISTINCT column_name(s)

FROM table_name

Соединение

Операция соединения есть результат последовательного применения операций декартового произведения и выборки.

Деление

Реляционное деление достаточно нетривиально описать, но на примере его смысл нагляден. В целом, из таблицы A берутся значения строк, для которых присутствуют все комбинации значений из таблицы B.

16. Join t-sql

SQL JOIN - используются для запроса данных из двух или нескольких таблиц связанных между собой ключами.

INNER JOIN - возвращает строки, когда есть хотя бы одно совпадение в обеих таблицах.

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

LEFT JOIN - возвращает строки из левой таблицы(table_name1), даже если их нет в правой таблице (table_name2).

SELECT column_name(s)

FROM table_name1

LEFT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

RIGHT JOIN - возвращает строки из правой таблицы(table_name2), даже если их нет левой таблице (table_name1).

SELECT column_name(s)

FROM table_name1

RIGHT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

FULL JOIN - возвращает строки, когда есть хоть одно совпадение в любой из таблиц.

SELECT column_name(s)

FROM table_name1

FULL JOIN table_name2

ON table_name1.column_name=table_name2.column_name

Оператор перекрёстного соединения, или декартова произведения CROSS JOIN соединяет две таблицы. Порядок таблиц для оператора неважен, поскольку оператор является симметричным.

OUTER JOIN - Соединение двух таблиц, в результат которого в обязательном порядке входят строки либо одной, либо обеих таблиц.