Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подготовка к гос экзамену.doc
Скачиваний:
18
Добавлен:
25.09.2019
Размер:
298.5 Кб
Скачать

Вопрос 26. Управление данными в sql

Целью любой системы управления БД в конечном счете является ввод, изменение, удаление и выборка данных. Рассмотрим методы управления данными с помощью языка SQL.

Целью любой системы управления БД в конечном счете является ввод, изменение, удаление и выборка данных. Рассмотрим методы управления данными с помощью языка SQL.

Извлечение данных – команда SELECT

Основным инструментом выборки данных в языке SQL является команда SELECT. С помощью этой команды можно получить доступ к данным, представленным как совокупность таблиц практически любой сложности

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

SELECT UNION

INTO ORDER BY

FROM COMPUTE

WHERE FOR

GROUP BY OPTION

HAVING

Раздел SELECT. Основное его назначение – задание набора столбцов, возвращаемых после выполнения запроса, т.е. внешнего вида результата. В простейшем случае возвращается столбец одной из таблиц, участвующих в запросе. В более сложных ситуациях набор значений в столбце формируется как результат вычисления выражения. Такие столбцы называются вычисляемыми.

Раздел FROM. С его помощью определяются источники данных, с которыми будет работать запрос. Синтаксис раздела

FROM {<Источник данных>} [,......,n]

В основном работа с разделом FROM – это перечисление через запятую источников данных, с которыми должен работать запрос

Раздел WHERE. Этот раздел предназначен для наложения вертикальных фильтров на данные, обрабатываемые запросом. Другими словами с помощью этого раздела можно сузить набор строк, включаемых в результат выборки. Для этого указывается логическое условие, от которого зависит, будет ли строка включена в выбору по запросу или нет. Строка включается в результат выборки, только если логическое выражение возвращает значение TRUE

Раздел ORDER BY. Этот раздел предназначен для упорядочения набора данных, возвращаемого после выполнения запроса (сортировка).

Раздел GROUP BY . Этот раздел позволяет выполнять группировку строк таблиц по определенным критериям. Для каждой группы можно выполнить специальные функции агрегирования, которые применяются ко всем строкам в группе. Одним из примеров использования раздела GROUP BY является суммирование однотипных значений.

Синтаксис:

GROUP BY [ALL]<условие группировки>

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

Раздел COMPUTE. Этот раздел предназначен для выполнения групповых операций над содержимым столбцов выборки. Групповые операции задаются с помощью функций агрегирования. Результат агрегирования выводится в отдельной строке после всех данных столбца.

Раздел UNION служит для объединения результатов выборки, возвращаемых двумя и более запросами.

Чтобы к результатам запросов можно было применить операцию объединения, они должны соответствовать следующим требованиям:

  • запросы должны возвращать одинаковый набор столбцов (причем необходимо гарантировать одинаковый порядок следования столбцов в каждом из запросов)

  • типы данных соответствующих столбцов второго и последующего запросов должны поддерживать неявное преобразование или совпадать с типом данных столбцов первого запроса

  • ни один из результатов не может быть отсортирован с помощью раздела ORDER BY