Оператор выбора SELECT . Формирование запросов к базе данных — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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

Оператор выбора SELECT . Формирование запросов к базе данных

2019-05-27 177
Оператор выбора SELECT . Формирование запросов к базе данных 0.00 из 5.00 0 оценок
Заказать работу

 

Назначение оператора SELECT состоит в выборке и отображении данных одной или нескольких таблиц БД.

 

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

SELECT [DISTINCT| ALL] {* ⎟ [<СПИСОК СТОЛБЦОВ>]}

FROM <СПИСОК ТАБЛИЦ>

[ WHERE <предикат-условие выборки или соединения;>]

[ GROUP BY <список полей результата>]

[ HAVING <предикат-условие для группы>]

[ ORDER BY <список полей, по которым требуется упорядочить ВЫВОД>]

 

Поясним каждое предложение данного оператора.

Предложение SELECT:

• определяет поля, которые содержат нужные данные;

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

• ключевое слово DISTINCT предназначено для приведения таблицы в соответствие с принципами теории отношений, где предполагается отсутствие дубликатов строк;

• символ "*" определяет очень часто встречаемую ситуацию, когда в результирующий набор включаются все столбцы из исходной таблицы запроса.

Предложение FROM определяет таблицы, которые содержат поля, указанные в предложении SELECT$

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

сравнения " =, <>, >, <, >=, <=" — для сравнения результатов вычисления двух выражений; более сложные выражения строятся с помощью логических операторов AND, OR, NOT;

BETWEEN А AND В — предикат истинен, когда вычисленное значение выражения попадает в заданный диапазон;

IN — предикат истинен тогда, когда сравниваемое значение входит в множество заданных значений;

LIKE и NOT LIKE — предикаты, смысл которых противоположен, требуют задания шаблона, с которым сравнивается заданное значение;

IS NULL — предикат, применяющийся для выявления равенства значения некоторого атрибута неопределенному значению:

EXIST и NOT EXIST, используемые во встроенных подзапросах.

Предложение GROUP BY используется для определения групп выходных строк, к которым могут применяться агрегатные функции (COUNT, MIN, MAX, AVG, SUM).

Предложение HAVING определяет условия на результат агрегатных функций (COUNT, MIN, MAX, AVG, SUM).

Предложение ORDER BY задает порядок сортировки результатов.

 

 

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

SELECT Поле1, Поле2, …, ПолеN

FROM Таблица;

Например,

SELECT Фамилия, Имя, Отчество, Группа

FROM Студенты;

 

Если хотим вывести все поля нашей таблицы, то

SELECT *

FROM Студенты;

 

Если название поля содержит пробелы, оно заключается в квадратные скобки:

SELECT Фамилия, Имя, Отчество, [Дата рождения]

FROM Студенты;

 

В операторе SELECT любому полю можно задать псевдоним (для удобства восприятия результатов запроса). Например,

SELECT [ Наименование товара] AS Товар,

[Стандартная стоимость] AS Цена

FROM Товары;

 

Синтаксис предложения WHERE

SELECT Поле1, Поле2, …, ПолеN

FROM Таблица

WHERE Условие1 AND / OR Условие2 …;

 

Группировка результатов

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

В языке SQL для осуществления операции группировки в оператор SELECT включается фраза GROUP BY. Запрос, в котором присутствует фраза GROUP BY, называется группирующим запросом, а столбцы, перечисленные в этой фразе, называются группирующими столбцами.

Вложенные запросы

Стандарт языка SQL позволяет в тело одного оператора SELECT внедрять другой оператор SELECT. Если внутренний оператор запроса помещен в предложения WHERE и HAVING внешнего оператора SELECT, то создается ситуация вложенных запросов (подзапросов).

Многотабличные запросы

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

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

SELECT *

FROM rl, r2;

и соответствует декартову произведению таблиц r1 и r2.

Выражение

SELECT rl.A, r2.B

FROM rl, r2;

соответствует проекции декартова произведения двух таблиц на два столбца А из таблицы r1 и В из таблицы r2.

 



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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.