Организация запросов в форме SQL

Синтаксис оператора SELECT.Подборка при помощи оператора SELECT — это более частая команда при работе с реляционной базой данных. Данный оператор обладает большенными способностями по заданию структуры выходной инфы, указанию источников входной инфы, метода упорядочения выходной инфы, формированию новых значений и т.п. (табл. 1).

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

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

SELECT [предикат] [таблица.]поле1[, [таблица.] поле2[, ...]]

[AS псевдоним Организация запросов в форме SQL1 [, псевдоним2 [, ...]]]

FROM выражение [, ...] [IN наружняя база данных]

[WHERE ...]

[GROUP BY ...]

[HAVING ...]

[ORDER BY ...]

[WITH OWNERACCESS OPTION]

Синтаксис оператора SELECT реализует сложные методы запросов.

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

Вычисляемое выражение содержит в себе:

• поля таблиц;

• константы;

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

• интегрированные функции Организация запросов в форме SQL;

• групповые функции SQL;

Пример 1.Внедрение оператора SELECT:

1. SELECT Наименование FROM Производители;

2. SELECT TОР 5 Наименование FROM Производители;

3. SELECT TOP 8 Наименование FROM Производители ORDER BY Наименование

В первом случае выбираются все записи таблицы ПРОИЗВОДИТЕЛИ и на экран выводится значение поля НАИМЕНОВАНИЕ.

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

Во 2-м случае отбирается 5 первых наименований производителей.

В 3-ем случае отбирается восемь первых наименований производителей, которые упорядочиваются по возрастанию

Если употребляются одноименные поля из нескольких таблиц, включенных в предложение FROM, следует указывать перед именованием этих полей имя таблицы через точку (.), т. е. [Производители Организация запросов в форме SQL].[Наименование] и [Товары].[Наименование] — два одноименных поля из различных таблиц.

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

Пример 2.Внедрение служебного слова AS:

SELECT DISTINCT Наименование AS Продукт FROM Продукты

Будут выведены неповторяющиеся наименования продуктов под заголовком Продукты.

Таблица 1 - Аргументы оператора SELECT

Аргумент Предназначение
Предикат употребляются для Организация запросов в форме SQL ограничения числа возвращаемых записей: ALL — всех записей; DISTINCT — записей, различающихся в обозначенных для вывода полях; DISTINCTROW — записей, вполне различающихся по всем полям; ТОР — данного числа записей либо процента записей в спектре, соответственном фразе ORDER BY
Таблица Определяет имя таблицы, поля которой сформировывают выходные данные
Полеl, Поле2 Определяют имена полей, применяемых при Организация запросов в форме SQL отборе (порядок следования полей определяет выходную структуру подборки данных)
Псевдоним1, Псевдоним2 Определяют новые заглавия столбцов результата подборки данных
FROM Определяет выражение, применяемое для задания источника формирования подборки (непременно находится в каждом операторе)
Наружняя база данных Определяет имя наружной базы данных — источника данных для подборки
WHERE Необязательный. Определяет условия отбора Организация запросов в форме SQL записей
GROUP BY Необязательный. Показывает поля (максимум 10) для формирования групп, по которым может быть вычисление групповых итогов; порядок следования полей оп­ределяет виды итогов — старший, промежный и т.п.
HAVING Необязательный. Определяет условия отбора записей для сгруппированных данных (задан метод группиро­вания GROUP BY...)
ORDER BY Определяет поля для Организация запросов в форме SQL выполнения упорядочения вы­ходных записей, порядок следования которых соот­ветствует старшинству ключей сортировки. Упорядо­чение может быть как по возрастанию (ASC), так и по убыванию (DESC) значения избранного поля
WITH OWNERAC CESS OPTION Служит при работе в сети в составе защищенной рабо­чей группы для указания юзерам, не обладаю Организация запросов в форме SQL­щим достаточными правами, способности просмотра результата запроса либо выполнения запроса

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

Операции соединения таблиц.Операцию INNER JOIN можно использовать в любом предложении FROM. Она делает симметричное объединение — более частую разновидность внутреннего объединения.

Записи из 2-ух таблиц соединяются воединыжды, если Организация запросов в форме SQL связующие их поля содержат схожие значения:

FROM таблица1 INNER JOIN таблица2 ON таблица1.поле1=таблица2.поле2

Данный оператор обрисовывает симметричное соединение 2-ух таблиц по ключам связи (поле1; поле2). Новенькая запись формируется в этом случае, если в таблицах содержатся однообразные значения ключей связи.

Вероятны последующие варианты операции соединения таблиц:

LEFT Организация запросов в форме SQL JOIN (левостороннее) соединение, когда выбираются все записи левой таблицы и только те записи правой таблицы, которые содержат надлежащие ключи связи;

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

Пример 3.1.Соединение таблиц:

SELECT Продукты.Наименование, Производители.Наименование

FROM Производители Организация запросов в форме SQL INNER JOIN Продукты ON Производители.КодПроизводителя = Продукты.Производитель

Создается симметричное соединение 2-ух таблиц по полям КодПроизвоителя и Производитель. При всем этом записи не выводятся, если значение их ключей связи (обозначенное поле) не представлено в 2-ух таблицах.

Операции JOIN могут быть вложенными для поочередного соединения нескольких таблиц.

Пример 3.2.Соединение Организация запросов в форме SQL таблиц:

SELECT Заказы.Дата, Продукты.Наименование, Производители.Наименование, Заказы.Количество

FROM (Производители INNER JOIN Продукты ON Производители.КодПроизводителя = Продукты.Производитель) INNER JOIN Заказы ON Продукты.КодТовара = Заказы.Продукт;

Тут поначалу происходит соединение таблиц ПРОИЗВОДИТЕЛИ и Продукты по полям связи КодПроизводителя и Производитель. Потом происходит соединение таблиц Продукты и ЗАКАЗЫ по полям связи КодТовара Организация запросов в форме SQL и Продукт.

Таким макаром, при условии совпадения ключей связи на выходе запроса выходит итог соединения 3-х таблиц.

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

Таблица 2 - Логические условия для построения критерий подборки

Оператор Предназначение Оператор Предназначение
And Логическое Организация запросов в форме SQL И — конъюнкция (логическое умножение) Not Отрицание
Eqv Проверка логической эквивалентности выражений Or Логическое Либо — дизъюнкция (включающее Or)
Imp Логическая импликация выражений Xor Логическое Либо (исключающее Or)

Не считая того, могут употребляться операторы для построения критерий:

LIKE — делает сопоставление строковых значений;

BETWEEN...AND — делает проверку на спектр значений;

IN — делает Организация запросов в форме SQL проверку выражения на совпадение с хоть каким из частей перечня;

IS — делает проверку значения на Null.

Данные условия обеспечивают горизонтальную подборку данных, т. е. результатом запроса будут только те записи, которые удовлетворяют сформулированным условиям.

Пример 4.Задание критерий подборки:

1. SELECT Наименование FROM Производители WHERE Наименование Like "P*";

2. SELECT Наименование, Производитель Организация запросов в форме SQL, Стоимость FROM Продукты WHERE Стоимость Between 3000 And 10000;

3. SELECT Наименование, Производитель, Стоимость FROM Продукты WHERE Стоимость Between 2000 And 10000 And

Наименование IN ("Печь микроволновая", "Утюг");

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

Во 2-м случае отбираются все продукты, стоимость которых от 3000 руб. до 10000 руб.

В 3-ем случае Организация запросов в форме SQL выбираются только микроволновые печи и утюги всех производителей по стоимости от 2000 руб. до 10000 руб.

Групповые функции SQL.Групповые функции нужны для определения статистических данных на базе наборов числовых значений:

Avg — вычисляет среднее арифметическое набора чисел, coдержащихся вуказанном поле запроса;

Count — вычисляет число выделенных записей в запросе;

Min, Max — соответственно Организация запросов в форме SQL возвращают малое и наибольшее значения из набора вуказанном поле запроса;

StDev, StDevPs — возвращают среднеквадратическое отклонение соответственно генеральной совокупы и подборки для обозначенного поля в запросе;

Sum — возвращает сумму значений в данном поле запроса;

Var, VarPs — возвращают дисперсию рассредотачивания соответственно генеральной совокупы и подборки для обозначенного поля к запросе.

Для Организация запросов в форме SQL определения полей группирования указывается ключевое слово HAVING для данного условия по группе при вычислении групповых значений.

Пример 5.Внедрение групповых функций SQL:

1. SELECT Наименование, Min(Стоимость) AS [МинЦена] FROM Продукты GROUP BY Наименование

2. SELECT Наименование, Avg(Стоимость) AS [Средняя Цена] FROM Продукты GROUP BY Наименование HAVING Avg(Стоимость)>3000;

В первом случае создается перечень продуктов Организация запросов в форме SQL с меньшей ценой

Во 2-м случае создается перечень продуктов со средней ценой более 3000 руб.


organolepticheskaya-ocenka-margarina.html
organolepticheskie-issledovaniya.html
organolepticheskie-pokazateli-vodi.html