Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры БД.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
592.64 Кб
Скачать
  1. Операторы union [all] , except, intersect. Примеры.

Оператор UNION

Объединяет в общий результат множества строк, созданных отдельными операторами SELECT, и поэтому используется только за предшествующим оператором SELECT или UNION. Оператор UNION содержит запрос SELECT, результирующие строки которого присоединяются к результату предыдущих операторов. Схема использования оператора UNION имеет вид:

SELECT …

UNION [ALL] SELECT …

[ UNION [ALL] SELECT …

. . . . . . . . . . . . . . . . . . . . . . . . . . . ]

Опция ALL сохраняет в объединенном результате запроса повторяющиеся строки. По умолчанию дубликаты строк удаляются.

Поскольку UNION добавляет строки к предыдущему набору, все операторы SELECT должны создавать строки одинаковой структуры с одинаковыми или автоматически конвертируемыми форматами данных. При этом имена столбцов результата берутся из первого оператора SELECT, а параметры ORDER BY и GROUP BY, задающие общий порядок и группировку результата, разрешено использовать только в последнем операторе UNION SELECT

EXCEPT – разность запросов

<запрос1> EXCEPT <запрос2>

Строки первого запроса, отсутствующие во втором запросе.

INTERSECT – пересечение запросов

<запрос1> INTERSECT <запрос2>

Строки, присутствующие и в первом , и во втором запросах.

  1. Структура, назначение параметров и примеры использования оператора insert. Примеры применения.

Оператор INSERT

Оператор INSERT добавляет новую строку (строки) в таблицу БД.

Включение новых строк можно выполнить непосредственно в таблицу, представление БД или функцию набора строк, но данные, тем не менее, помещаются в физически хранящуюся таблицу базы. Одним оператором можно добавить строку только в одну таблицу.

INSERT <имя дополняемой таблицы>

Первым параметром в операторе INSERT указывается имя дополняемой таблицы. Далее в операторе INSERT в круглых скобках через запятую могут быть перечислены имена столбцов, значения которых определяются следующим параметром оператора. Если имена столбцов в операторе не заданы, то они выбираются из структуры таблицы. Следующий параметр VALUES определяет значения полей добавляемой строки. Через запятую задаются значения для каждого столбца в последовательности их перечисления в операторе. Отдельное значение поля добавляемой строки может быть представлено вычисляемым выражением, признаком NULL или ключевым словом DEFAULT. DEFAULT заносит в поле умалчиваемое значение, заданное для столбца в структуре таблицы. Последовательность и количество значений в VALUES должны соответствовать списку имен столбцов. С помощью параметра VALUES одним оператором можно добавить только одну строку.

В другой форме оператора INSERT добавляемые строки вместо параметра VALUES определяются подзапросом или хранимой процедурой базы (для MS SQL Server).

INSERT <имя таблицы>

Например, чтобы добавить записи об авторах, живущих в Калифорнии (state = ‘CA’), из таблицы authors в существующую таблицу new_authors можно применить следующий оператор SQL:

INSERT new_authors SELECT * from authors WHERE state = ‘CA’

Структуры таблиц authors и new_authors должны совпадать.

Используя подзапрос или хранимую процедуру, одним оператором INSERT можно добавлять в таблицу сразу несколько строк. При этом структура строк, созданных подзапросом или процедурой, должна соответствовать заданному в операторе списку из имен столбцов дополняемой таблицы.

При любом способе добавления строк столбцы со свойством NOT NULL обязательно требуют наличия данных, а столбцы со свойством IDENTITY (инкрементное поле - счетчик), напротив, не должны иметь данных.

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