Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф. лаб. 4 - SQL.docx
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
63.91 Кб
Скачать

Методические указания к лабораторной работе №4 «Базы данных. Язык запросов sql»

Данные методические указания содержат необходимые теоретические сведения и практические задания по лабораторной работе «Базы данных». Лабораторная работа ориентирована на изучение синтаксиса языка запросов SQL. Некоторые описываемые особенности синтаксиса специфичны для диалекта, используемого Microsoft Office Access.

Введение

Исторически для хранения данных применялся подход, основанный на файлах и использовании средств языков общего назначения. Этот подход порождал большое число проблем, связанных с тем, что между файлами имело место существенное дублирование информации, программы для обработки файлов существенно зависели от формата файлов и даже простые изменения формата файлов требовали существенных переработок программ. Кроме того, при большом числе файлов даже типовые задачи выборки необходимой информации сопряжены с достаточно высоким уровнем сложности.

Решением перечисленных проблем стала унификация подхода к хранению данных и отделению хранимых данных от обрабатывающих их программ. Задачи манипулирования данными, обеспечения надежности доступа и резервного копирования взяли на себя системы управления базами данных (СУБД), а прикладные задачи по выборке, обработке и представлению данных взяли на себя прикладные программы. Существенным шагом на пути к упрощению логики программ, обрабатывающих выборки данных, стало создание унифицированного языка запросов SQL (Structured Query Language). В настоящее время язык SQL стандартизирован международными организациями ANSI и ISO и в той или иной степени поддерживается большим числом различных СУБД, включая Microsoft Office Access, Microsoft SQL Server, Oracle, MySQL.

Выборка данных

Для выборки данных используется оператор SELECT. В простейшей форме оператор требует указания списка выбираемых столбцов в секции SELECT и списка таблиц в секции FROM:

SELECT

поле1 [, поле2, ...]

FROM

таблица1 [, таблица2, ...];

Если в запросе используется несколько таблиц, то поле можно для уточнения квалифицировать именем таблицы. Если имя поля состоит из нескольких слов, то их заключают в квадратные скобки []. Пример запроса, выбирающего информацию обо всех заказах из таблицы заказов:

SELECT

[Orders].[OrderID],

[Orders].[OrderDate],

[Orders].[CustomerID]

FROM

[Orders];

Имеется возможность выбрать сразу все поля таблицы, не перечисляя их:

SELECT

*

FROM

[Orders];

В секции SELECT можно указывать не только имена полей, но и формировать из них выражения с использованием арифметических операций +, -, *, /, встроенных функций и других операций.

Сортировка данных

При выборке данных с помощью оператора SELECT без явного указания порядка сортировки записи возвращаются в произвольном порядке (в зависимости от СУБД этот порядок может соответствовать или не соответствовать физическому размещению записей). Для явного указания порядка записей в результирующем запросе необходимо использовать секцию ORDER BY:

ORDER BY

поле1 [ASC|DESC] [, поле2 [ASC|DESC], ...]

Следующий пример иллюстрирует базовый синтаксис секции ORDER BY:

SELECT

[Products].[ProductName]

FROM

[Products]

ORDER BY

[Products].[ProductName];

Для явного указания порядка сортировки предназначены ключевые слова ASC и DESC. Ключевое слово ASC означает сортировку по возрастанию и подразумевается по умолчанию. Ключевое слово DESC означает сортировку по убыванию. Следующий пример иллюстрирует сортировку по убыванию:

SELECT

[Products].[ProductName]

FROM

[Products]

ORDER BY

[Products].[ProductName] DESC;

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