Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
153
Добавлен:
02.05.2014
Размер:
1.63 Mб
Скачать

3.4.4. Извлечение данных

В большинстве случаев используется упрощенный вариант команды SELECT, имеющий следующий синтаксис:

SELECT select_list

[ INTO new_table ]

FROM table_source

[ WHERE search_condition ]

[ GROUP BY group_by_expression ]

[ HAVING search_condition ]

[ORDER BY order_expression [ ASC | DESC ] ]

Весь запрос SELECT разбивается на отдельные разделы, каждый из которых имеет свое назначение. Большая часть этих разделов может быть опущена. Обязатель­ными являются только разделы SELECT и FROM.

Рассмотрим кратко содержание указанных разделов.

select_list – конструкция определяет список и прохождение столбцов, которые будут включены в результат выборки, возвращаемый сервером после выполнения запроса. В разделе Select также указывается будут ли исключены или включены в выборку дублирующиеся строки, или же выбрана только часть строк. Для этого в запрос включаются ключевые слова Distinct, All и Top соответственно.

[ INTO new_table ] – конструкция позволяет сохранить результаты запроса в новой таблице.

FROM table_source – раздел определяет источники данных с которыми будет работать запрос.

[ WHERE search_condition ] – раздел предназначен для определения условий, которым должны соответствовать данные, чтобы попасть в результаты запроса.

[ GROUP BY group_by_expression ] – конструкция позволяет выполнять группировку строк таблиц по определенным критериям.

[ HAVING search_condition ] - в этом разделе задаются предикаты-условия, накладываемые на каждую группу.

[ORDER BY order_expression [ ASC | DESC ] ] – конструкция позволяет упорядочить набор данных, возвращаемого после выполнения запроса. Ключевые слова Asc и Desc обеспечивают упорядочение по возрастанию или убыванию соответственно.

Приведенный вариант синтаксиса запроса SELECT не исчерпывает все его возможности. Полный список разделов запроса следующий:

- SELECT; - INTO; - FROM; - WHERE; - GROUP BY; - HAVING; - UNION; - ORDER BY; - COMPUTE; - FOR; - OPTION.

Рассмотрим ранее не рассмотренные разделы.

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

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

FOR – раздел позволяет обновлять данные при просмотре результата выборки с помощью приложений, использующих библиотеку Db –Library, или для преобразования результатов выборки в формат XML (расширенная версия языка HTML).

OPTION – с помощью этого раздела задается набор дополнительных параметров, позволяющих управлять ходом оптимизации и выполнения запроса.

3.4.5. Добавление данных

Перед тем как начать изменение данных в таблицах или выборку данных из таб­лиц, необходимо их вставить. Данные в таблицу SQL Server 2000 могут быть внесены различными способами.

- С помощью команды INSERT. Используя единственную команду INSERT, можно добавить как одну строку, так и множество строк. Причем разрешается указа­ние вставляемых значений как с помощью переменных (или констант), так и с помощью запроса.

- С помощью команды SELECT INTO. В этом случае на основе результата выбор­ки, возвращаемого запросом, сервер автоматически создает новую таблицу.

- Посредством применения механизмов массового копирования данных, исполь­зуемых для вставки в таблицу множества строк, данные которых располага­ются в текстовых файлах. Этот способ предполагает использование утилиты командной строки bср или команды BULK INSERT.

- С помощью программного интерфейса баз данных (Database API). Этот спо­соб включает использование механизмов ADO, OLE DB, ODBC и DB-Library.

- С помощью возможностей Data Transformation Services. Используя эту тех­нологию, можно выполнять сложные операции переноса и трансформации данных из множества распределенных гетерогенных источников информации, таких, например, как Oracle, Excel, Paradox, Access и многих других.

Механизмы ADO, OLE DB, ODBC и DB-Library в этой лекции не рассматривают­ся. Для поиска информации по управлению данными с использованием этих методов нужно обратиться к специализированной литературе. Также не рассмат­ривается использование служб трансформации данных (Data Transformation Services).

Соседние файлы в предмете Базы данных