Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Символ 'A', когда ничего не значит сам по себе, — является константой, такой например как число 1. Вы можете вставлять константы в предложение SELECT запроса, включая и текст. Однако символьные константы, в отличие от числовых констант, не могут использоваться в выражениях. Вы можете иметь выражение 1 + 2 в вашем предложении SELECT, но вы не можете использовать выражение типа 'A' + 'B'; это приемлемо, только если мы имеем в виду что 'A' и 'B' это просто буквы, а не переменные и не символы.

Тем ни менее, возможность вставлять текст в вывод ваших запросов очень удобная штука.

Вы можете усовершенствовать предыдущий пример представив комиссионные как проценты со знаком процента (%). Это даст вам возможность помещать в вывод такие единицы как символы и комментарии, как, например, в следующем примере (вывод показывается в Рисунке 7.2)

SELECT snum, sname, city, ' % ', comm * 100
FROM Salespeople;

=============== SQL Execution Log ============
| SELECT snum, sname, city, '%', comm * 100 |
| FROM Salespeople; |
| ==============================================|
| snum sname city |
| ------ -------- ----------- ---- --------- |
| 1001 Peel London % 12.000000 |
| 1002 Serres San Jose % 13.000000 |
| 1004 Motika London % 11.000000 |
| 1007 Rifkin Barcelona % 15.000000 |
| 1003 Axelrod New York % 10.000000 |
===============================================

Рисунок 7.2. Вставка символов в ваш вывод.

Обратите внимание, что пробел перед процентом вставляется как часть строки. Эта же самая особенность может использоваться, чтобы маркировать вывод вместе с вставляемыми комментариями. Вы должны помнить, что этот же самый комментарий будет напечатан в каждой строке вывода, а не просто один раз для всей таблицы. Предположим, что вы генерируете вывод для отчета, который бы указывал число Заказов получаемых в течение каждого дня. Вы можете промаркировать ваш вывод (см. Рисунок 7.3) сформировав запрос следующим образом:

SELECT ' For ', odate, ', there are ',
COUNT (DISTINCT onum), 'orders.'
FROM Orders
GROUP BY odate;

=============== SQL Execution Log ==============
| SELECT 'For', odate, ', ' there are ', |
| COUNT (DISTINCT onum), ' orders ' |
| FROM Orders |
| GROUP BY odate; |
| =============================================== |
| odate |
| ------ ---------- --------- ------ ------- |
| For 10/03/1990, there are 5 orders. |
| For 10/04/1990, there are 2 orders. |
| For 10/05/1990, there are 1 orders. |
| For 10/06/1990, there are 2 orders. |
=================================================

Рисунок 7.3. Комбинация текста, значений поля, и агрегатов.

Грамматической некорректности вывода, на 5 Октября, невозможно избежать, не создав запроса, еще более сложного, чем этот (вы будете должны использовать два запроса с UNION, который мы будем описывать в Главе 14). Как вы можете видеть, одиночный неизменный комментарий для каждой строки таблицы может быть очень полезен, но имеет ограничения. Иногда изящнее и полезнее произвести один комментарий для всего вывода в целом, или производить свой собственный комментарии для каждой строки.

Различные программы, использующие SQL, часто обеспечивают специальные средства типа генератора отчетов (например, Report Writer), которые разработаны, чтобы форматировать и совершенствовать вывод. Встроенный SQL может также эксплуатировать возможности того языка, в который он вложен. SQL сам по себе интересен, прежде всего, при операциях с данными. Вывод, по существу, это информация, и программа, использующая SQL, может часто использовать эту информацию и помещать ее в более привлекательную форму. Это, однако, вне сферы самого SQL.

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

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

SELECT *
FROM Orders
ORDER BY cnum DESC;

Вывод показывается в Рисунке 7.4.

=============== SQL Execution Log ==============
| SELECT * |
| FROM Orders |
| ORDER BY cnum DESC; |
| =============================================== |
| onum amt odate cnum snum |
| ------ -------- ---------- ----- ----- |
| 3001 18.69 10/03/1990 2008 1007 |
| 3006 1098.16 10/03/1990 2008 1007 |
| 3002 1900.10 10/03/1990 2007 1004 |
| 3008 4723.00 10/05/1990 2006 1001 |
| 3011 9891.88 10/06/1990 2006 1001 |
| 3007 75.75 10/04/1990 2004 1002 |
| 3010 1309.95 10/06/1990 2004 1002 |
| 3005 5160.45 10/03/1990 2003 1002 |
| 3009 1713.23 10/04/1990 2002 1003 |
| 3003 767.19 10/03/1990 2001 1001 |
=================================================

Рисунок 7.4. Упорядочение вывода по убыванию поля.





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


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 355 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Надо любить жизнь больше, чем смысл жизни. © Федор Достоевский
==> читать все изречения...

2355 - | 2039 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.