СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

651 15.04.2020 Практическая работа ТРБД

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«651 15.04.2020 Практическая работа ТРБД»

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

Создание простых SQL-запросов и сложных SQL-запросов – объединения и комбинированные запросы»


Синтаксис оператора SELECT.

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

При выполнении выборки могут формироваться и новые данные, так называемые вычисляемые поля, являющиеся результатом обработки исходных данных. Возможно упорядочение выводимых данных, формирование групп записей, подсчет групповых итогов, формирование подмножеств данных (записей), являющихся основой для формирования условий по обработке следующего этапа — вложенных запросов.

Аргумент

Назначение

Предикат

Предикаты используются для ограничения числа возвращаемых записей: ALL — все записи;

DISTINCT — записи, различающиеся в указанных для вывода полях;

DISTINCTROW — полностью различающиеся записи ; по всем полям;

ТОР — возврат заданного числа или процента записей в диапазоне, соответствующем фразе ORDER BY

Таблица

Имя таблицы, поля которой формируют выходные данные

Поле1, Поле2

Имена полей, используемых при отборе (порядок их следования определяет выходную структуру выборки данных)

Псевдоним1, Псевдоним2

Новые заголовки столбцов результата выборки данных

FROM

Определяет выражение, используемое для задания ис­точника формирования выборки (обязательно присут­ствует в каждом операторе)

Внешняя база данных

Имя внешней базы данных — источника данных для выборки

[WHERE ...]

Определяет условия отбора записей (необязательное)

[GROUP BY...]

Указание полей (максимум — 10) для формирования групп, по которым возможно вычисление групповых итогов; порядок их следования определяет виды итогов (старший, промежуточный и т. п.) — необязательное

[HAVING ...]

Определяет условия отбора записей для сгруппированных данных (задан способ группирования GROUP BY ...) — необязательное

[ORDER BY ...]

Определяет поля, по которым выполняется упорядочение выходных записей; порядок их следования соответствует старшинству ключей сортировки. Упорядочение возможно как по возрастанию (ASC), так и по убыванию (DESC) значения выбранного поля

[WITH

OWNERACCESS

OPTION]

При работе в сети в составе защищенной рабочей группы для указания пользователям, не обладающим достаточными правами, возможности просматривать результат запроса или выполнять запрос


Универсальный оператор SELECT имеет следующую конст­рукцию:


Оператор SELECT реализует сложные алгоритмы запросов. Слово SELECT определяет структуру выводимой информации, это могут быть поля таблиц, вычисляемые выражения. Вычисляемое выражение состоит из:

  • полей таблиц;

  • констант;

  • знаков операций;

  • встроенных функций;

  • групповых функций SQL.

В первом случае выбираются все записи таблицы СТУДЕНТ в составе указанных полей. Если отбираются все поля в том же самом порядке, что и в структуре таблицы, можно указать символ точки. Во втором случае отбирается пять первых фамилий студентов, в третьем случае выбирается пять первых фамилий студентов, упоря­дочение записей осуществлено по учебным группам.

Если используются одноименные поля из нескольких таблиц, включенных в предложение FROM, следует указать перед именем такого поля имя таблицы через . (точку): [Студент заочник].[Группа] и [Студент].[Группа] — два одноименных поля из разных таблиц.

Для изменения заголовка столбца с результатами выборки ис­пользуется служебное слово AS.

В первом случае будут выведены неповторяющиеся даты рожде­ния студентов, которые имеют новое наименование — Юбилей. Во втором случае в результирующей таблице присутствуют все записи, но вместо [Дата рождения] указан Год и вместо Фамилия и Имя, соединенных вместе через пробел, — ФИО.

Наиболее часто слово AS применяется для именования вычис­ляемых полей.


Задание 5. Создание простых запросов

Запрос на выборку

SELECT [ALL | DISTINCT] список полей

FROM имена таблиц

WRERE (критерий отбора)

ORDER BY столбцы сортировки [ASC | DESC]

Где SELECT - команда, определяющая запрос на выборку и содержащая список полей, в котором указываются поля, подлежащие выводу;

ALL,DISTINCT - предикаты, включающие все строки удовлетворяющие принятым условиям, исключающие строки с повторяющимися данными;

FROM_имена таблиц - определяет имена таблиц, у которых запрос должен отобрать данные.

WHERE - (критерий отбора) - определяет условия для отбора записей указанных таблиц;

ORDER BY столбцы_сортировки - определяет порядок сортировки записей по возрастанию (ASC) или убыванию (DESC); по умолчанию производится сортировка по возрастанию.

Пример 1. Запрос на выборку, позволяющий получить из таблицы Студенты данные о студентах мужского пола, родившихся до 1997 г.

SELECT Студенты.имя, Студенты.Фамилия, Студенты.[Дата рождения], Студенты.Пол

FROM Студенты

WHERE (((Студенты.[Дата рождения])

Пример 2. Запрос на выборку с формированием в таблице Стипендия вычисляемого поля "Размер", в котором данные получаются умножением значений столбца "Процент" на 80.

SELECT Стипендия.оценка, Стипендия.процент, [Стипендия]![процент]*80 AS Размер

FROM Стипендия;

Запрос на выборку с параметром

SELECT [ALL | DISTINCT] список полей

FROM имя таблицы

WHERE ((имя поля)=[выражение])

Здесь в квадратных скобках помещается выражение, поясняющее вид вводимого параметра.

Пример 3. Запрос с параметром, позволяющий выделить в таблице Успеваемость имена студентов, имеющих оценку «3», используемую в качестве параметра.

SELECT Успеваемость.фамилия, Успеваемость.имя, Успеваемость.оценка, Успеваемость.предмет

FROM Успеваемость

GROUP BY Успеваемость.фамилия, Успеваемость.имя, Успеваемость.оценка, Успеваемость.предмет

HAVING (((Успеваемость.оценка)=[введите оценку]));

Итоговые запросы

SELECT [ALL | DISTINCT] список_полей, функция (имя поля)

AS [заголовок_поля]

FROM имена_таблиц

WHERE условие_отбора

GROUP BY условие_группировки

HAVING условие_для_результата

где AS [заголовок_поля] - определяет заголовок столбца результирующего набора записей;

GROUP BY условие группировки - выбирает поле, по значениям которого записи объединяются в группы, к каждой из которых применяется функция;

HAVING условие_для_результата - одно или несколько условий, налагаемых на значения поля (заголовок_поля), полученные после выполнения группировки и применения функции;

WHERE услойие_отбора - условие для отбора исходных записей перед выполнением группировки и применением функции.

Пример 4. Итоговый запрос для вычисления в таблице Студенты количества студентов мужского пола в группе 451.

SELECT Count(Студенты.[Код студента]) AS [Количество], Студенты.Пол, Студенты.Группа

FROM Студенты

GROUP BY Студенты.Пол, Студенты.Группа

HAVING (((Студенты.Пол)="м") AND ((Студенты.Группа)=451));

Пример 5. Итоговый запрос, позволяющий рассчитать средний балл по информатике в таблице Успеваемость.

SELECT Успеваемость.предмет, Avg(Успеваемость.оценка) AS [Средний балл]

FROM Успеваемость

GROUP BY Успеваемость.предмет

HAVING (((Успеваемость.предмет)="информатика"));