Задание на практическую работу

Практическая работа №13

СОЗДАНИЕ ЗАПРОСОВ В РЕЖИМЕ SQL

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

 

Теоретические сведения

Общие сведения о команде SELECT

 

Любой запрос хранится в базе данных в формате SQL (Structured Query Language — язык структурированных запросов). Основное достоинство этого языка состоит в том, что он является стандартом для большинства реляционных СУБД.

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

Ядром языка SQL является инструкция SELECT (Что выбрать?). Она используется для отбора полей из реляционных таблиц и содержит три основных предложения:

- FROM (Откуда выбирать?),

- WHERE (За каким условием?),

- ORDER BY (Как сортировать?).

При формировании запроса на SQL обязательными в использовании являются SELECT и FROM. Программный модуль заканчивается знаком «;».

Синтаксис инструкции SELECT:

 

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

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

[WHERE <условие выборки>]

[GROUP BY <имя столбца> [, <имя столбца>]...] [HAVING <условие поиска>]

[ORDER BY <спецификация> [, <спецификация>] ...]

 

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

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

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

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

<имя та6лицы>.<имя столбца>

 

Операнд ORDER BY задает порядок сортировки результирующего множества и представляет собой пару вида:

 

<имя столбца> [ASC | DESC]

 

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

Выражение <условие выборки> является логическим.

Его элементами могут быть имена столбцов, операции сравнения, арифметические операции, логические связки (И, ИЛИ, НЕТ), скобки, специальные функции LIKE, NULL, IN и т. д.

Операнд GROUP BY позволяет выделять в результирующем множестве записей группы.

Группой являются записи с совпадающими значениями в столбцах, перечисленных за ключевыми словами GROUP BY.

Выделение групп требуется для использования в логических выражениях операндов WHERE и HAVING, а также для выполнения операций (вычислений) над группами.

В логических и арифметических выражениях можно использовать следующие групповые операции (функции):

- AVG (среднее значение в группе),

- МАХ (максимальное значение в группе),

- MIN (минимальное значение в группе),

- SUM (сумма значений в группе),

- COUNT (число значений в группе

Операнд HAVING действует совместно с операндом GROUP BY и используется для дополнительной селекции записей во время определения групп. Правила записи <условия поиска> аналогичны правилам формирования <условия выборки> операнда WHERE.

Связи между таблицами:

 

Таблица1 INNER JOIN Таблица2 (внутреннее объединение);

 

После способа объединения необходимо поместить фразу:

 

ON Таблица1.Ключ = Таблица2.ВнешнийКлюч,

 

Ключ - имя ключевого поля со стороны 1.

ВнешнийКлюч - имя связующего поля со стороны N.

 

Использование инструкции SELECT для создания запросов

Для создания запросов с использованием средств языка SQL необходимо на ленте на вкладке Создание в группе Другие нажать кнопку Конструктор запросов. Затем закрыть появившееся окно Добавление таблицы, щелкнуть правой кнопкой мыши в области отображения таблиц и в контекстном меню выбрать «Режим SQL».

В режим SQL можно также перейти с помощью кнопки Режим в области Результаты вкладки Конструктор на ленте.

Откроется окно редактирования со словом SELECT; в первой строке. После слова SELECT добавляются параметры для получения конкретного запроса на выборку.

Пусть база данных состоит из двух связанных таблиц (рис.1)

 

Рисунок 1. Схема данных

 

Инструкция

«SELECT * FROM Таблица1;»

позволяет вывести в запрос все поля Таблицы 1.

Инструкция

«SELECT Таблица1.[Номер аптеки], Таблица1.Адрес, Таблица1.[ФИО заведующего] FROM Таблица1 ORDER BY Таблица1.[ФИО заведующего] DESC;»

- выводит в запрос три поля из таблицы:

- Номер аптеки,

- Адрес

- ФИО заведующего (отсортированное по убыванию).

В случае сортировки по возрастанию параметр ASC можно не указывать. Квадратные скобки используются для задания имен полей, которые содержат недопустимые символы, включая пробелы и разделители. 

Инструкция

«SELECT Таблица2.[Название препарата], Таблица2.Цена FROM Таблица2 WHERE (((Таблица2.Цена)>50 And (Таблица2.Цена)<100));»

- выводит в запрос два поля из Таблицы 2:

- Название препарата,

- Цена

и строки, для которых цена находится в промежутке от 50 до 100 руб.

Инструкция

«SELECT Таблица2.[Название препарата], Avg(Таблица2.Цена) AS [Avg-Цена] FROM Таблица2 GROUP BY Таблица2.[Название препарата];»

производит группировку записей путем объединения строк с одинаковым названием препарата и для каждой группы определяет среднюю цену, т.е. подводит итоги.

Инструкция

«SELECT Таблица1.[Номер аптеки], Таблица1.Адрес, Таблица2.[Название препарата], Таблица2.Цена FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.[Номер аптеки] = Таблица2.[№ аптеки] WHERE (((Таблица2.[Название препарата]) Like "A*"));»

выбирает поля из двух связанных таблиц. Связи установлены по полям Номер аптеки (в Таблице 1) и № аптеки (в Таблице 2), содержащим одинаковые значения.

В запрос включаются строки, для которых название препарата начинается на букву «А».

 

Задание на практическую работу

Для базы данных создать запросы на выборку в режиме SQL с помощью инструкции SELECT:

1) Включить в запрос все поля Таблицы 1;

2) Включить в запрос три поля из Таблицы 1, выполнить сортировку по второму полю по возрастанию;

3) Создать запрос на основании Таблицы 2, включить в запрос текстовое и числовое поле, для числового задать условие: значение поля принадлежит промежутку

4) Создать запрос на основании Таблицы 2 с подведением итогов:

5) Создать запрос на основании Таблицы1 и Таблицы 2, вывести в запрос по два поля из каждой таблицы.

 

Контрольные вопросы

1. Синтаксис инструкции SELECT

2. Как в инструкции SELECT выполнить сортировку записей?

3. Как в инструкции SELECT выполнить подведение итогов?

4. Как в инструкции SELECT связать несколько таблиц ?

5. Как в инструкции SELECTзадать условие отбора?

 


Дата добавления: 2021-01-21; просмотров: 134; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!