Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
20
Добавлен:
25.09.2019
Размер:
587.78 Кб
Скачать

21. Язык структурированных запросов sql. Формирование вывода запросов. Упорядочивание вывода полей.

ФОРМИРОВАНИЕ ВЫВОДОВ ЗАПРОСОВ Имеются пять особенностей созданных в стандарте SQL которые позволяют делать больше чем просто вывод значений полей и агрегатных данных.

Скалярное выражение с помощью выбранных полей

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

SELECT snum, sname, city, comm * 100

FROM Salespeople;

Столбцы вывода

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

Помещение текста в выводе запроса

Возможно вставлять константы в предложение SELECT запроса, включая и текст. Однако символьные константы, в отличие от числовых констант, не могут использоваться в выражениях.

Пробел перед процентом вставляется как часть строки. Эта же сама особенность может использоваться чтобы маркировать вывод вместе с вставляемыми комментариями. Вы должны помнить, что этот же самый комментарий будет напечатан в каждой строке вывода, а не просто один раз для всей таблицы.

Упорядочивание вывода полей

Таблицы - это неупорядоченные наборы данных, и данные которые выходят из них, не обязательно появляются в какой-то определенной последовательности. SQL использует команду ORDER BY чтобы позволять вам упорядочивать ваш вывод. Эта команда упорядочивает вывод запроса согласно значениям в том или ином количестве выбранных столбцов. Многочисленные столбцы упорядочиваются один внутри другого, также как с GROUP BY, и вы можете определять возрастание (ASC ) или убывание ( DESC ) для каждого столбца. По умолчанию установлено - возрастание.

SELECT *

FROM Orders

ORDER BY cnum DESC;

Упорядочивание с помощью многочисленных столбцов

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

SELECT *

FROM Orders

ORDER BY cnum DESC, amt DESC;

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

Упорядочивание агрегатных групп

ORDER BY может кроме того, использоваться с GROUP BY для упорядочения групп. Если это так, то ORDER BY всегда приходит последним. Перед сгруппированием вывода, порядок групп был произвольным; и мы, теперь, заставим группы размещаться в последовательности:

SELECT snum, odate, MAX (amt)

FROM Orders

GROUP BY snum, odate

GROUP BY snum;

Упорядочивание вывода по номеру столбца

Вместо имен столбца, вы можете использовать их порядковые номера для указания поля используемого в упорядочении вывода. Эти номера могут ссылаться не на порядок столбцов в таблице, а на их порядок в выводе. Другими словами, поле упомянутое в предложении SELECT первым, для ORDER BY - это поле 1, независимо от того каким по порядку оно стоит в таблице:

SELECT sname, comm

FROM Salespeople

GROUP BY 2 DESC;

Упорядочивание с помощью оператора Null

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]