Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
127.38 Кб
Скачать

17.Оператор select при работе с несколькими таблицами. Реализация теоретико-множественных операция в sql.

SELECT - Извлекает строки из одной или нескольких таблиц

В упрощенном виде важнейший оператор SELECT имеет следующий формат:

SELECT [ ALL\DISTINCT] <списокданных>

FROM<список таблиц >

[HERE<условие выбора>]

[GROUPBY<имя столбца> [, <имя столбца>]...]

[HAVING<условие поиска>]

[ORDERBY<спецификация сортировки>[,<спецификация сортировки>]...]

Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL) или не иметь (DISTINCT) повторяющиеся строки.

- Операция GROUPBY производит группировку всех полей списка SELECT.

SELECT Здание.[Код здания], Здание.[Дата начала], Назначение.[Код работника]

Into Перспектива

FROM Здание INNER JOIN Назначение ON Здание.[Код здания] = Назначение.[Код здания]

WHERE (((Здание.[Дата начала])>=#1/1/2002#));

Приведенный запрос состоит из инструкции SELECT Список_полейINTO новая_таблицас параметрами FROM, WHERE и операции INNERJOIN.

Инструкция SELECT… INTO определяет поля, которые должны быть извлечены и вставлены в новую таблицу

Параметр FROM указывает, какие таблицы содержат данные поля, приведенные в инструкции SELECT… INTO.

Параметр WHERE определяет, какие записи таблиц, указанные в списке FROM, появятся в результирующем наборе данного запроса.

Операция INNERJOIN создает специальное объединение таблиц.

Традиционные операции над множествами - это объединениепересечениеразность и декартово произведение.

Это можно реализовать с помощью операции FROM (таблицы, представления, подзапросы). Кроме того, можно использовать еще одну явную операцию соединения:

SELECT t1.tabel1,t2.table2

FROM t1 CROSS JOIN t2

При  декартовом произведении каждая строка из одной таблицы соединяется с каждой строкой второй таблицы. В результате количество строк результирующего набора равно произведению количества строк операндов декартова произведения.Декартовое произведение является промежуточным результатом выполнения операции горизонтальной проекции (выборки) при наличии в операторе SELECT предложения WHERE.

Для объединения запросов используется служебное слово UNION:

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

Оператор UNION объединяет выходные строки каждого из запросов в один результирующий набор. Если определен параметр ALL, то сохраняются все дубликаты выходных строк, в противном случае в результирующем наборе остаются только уникальные строки.В стандарте языка SQL имеются предложения оператора SELECT для выполнения операций пересечения и разности запросов. Этими предложениями являются INTERSECT(пересечение) и EXCEPT (разность), которые работают аналогично предложению UNION. В результирующий набор попадают только те строки, которые присутствуют в обоих запросах (INTERSECT) или только те строки первого запроса, которые отсутствуют во втором (EXCEPT).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]