ФОРМАТИРОВАНИЕ РЕЗУЛЬТАТОВ ЗАПРОСОВ
Скалярные выражения с выбранными полями.Например, если вам удобнее представить комиссионные продавцов в виде процентов, а не десятичных чисел,достаточно указать:
SELECT snum, sname, city, comm * 100
FROM Salespeople;
Выходные столбцы — это столбцы, которые создаются с помощью запроса (в тех случаях, когда в предложении запроса SELECT используются агрегатные функции, константы или выражения), а не извлекаются непосредственно из таблицы. Поскольку имена столбцов являются атрибутами таблицы, столбцы, не переходящие из таблицы в выходные данные, не имеют имен.
Внесение текста в выходные данные запроса. Константы, а также текст, можно включать в предложение запроса SELECT. Однако, буквенные константы, в отличие от числовых, нельзя использовать в выражениях. В SELECT-предложение можно включить 1+2, но не 'А' + 'В', поскольку 'А' и 'В' здесь просто буквы, а не переменные или символы, используемые для обозначения чего-либо отличного от них самих. Тем не менее, возможность вставить текст в выходные данные запроса вполне реальна.
SELECT snum, sname, city,'%', comm * 100
FROM Salespeople;
Упорядочение выходных полей
По умолчанию принята возрастающая последовательность сортировки. Таблица заявок (Orders), упорядоченная по номеру заявки, выглядит так:
SELECT*
FROM Orders ORDER BY cnum DESC;
Внутри уже произведенного упорядочения по полю cnum можно упорядочить таблицу и по другому столбцу, например, amt:
SELECT *FROM Orders ORDER BY cnum DESC, amt DESC;
Так можно использовать ORDER BY одновременно для любого количества столбцов. Во всех случаях столбцы, по которым выполняется сортировка, входят в число выбранных.
|
|
Упорядочение составных групп
До этого выходные данные были сгруппированы, но порядок групп был произвольным; теперь группы выстроены в определенной последовательности:
SELECT snum, odate, MAX(amt)
FROM Orders
GROUP BY snum, odate ORDER BY snum;
Поскольку в команде не указан способ упорядочения, по умолчанию применяется возрастающий.
Упорядочение результата по номеру столбца
Например, можно применить следующую команду, чтобы увидеть определенные поля таблицы Salespeople, упорядоченные по убыванию поля commission (comm):
SELECT sname, comm FROM Salespeople ORDER BY 2 DESC;
Столбцы, полученные с помощью функций агрегирования, константы или выражения в предложении запроса SELECT, можно применить и с ORDER BY, если на них ссылаются по номеру. Например, чтобы подсчитать заявки (orders) для каждого продавца (salespeople) и вывести результаты в убывающем порядке:
SELECT snum, COUNT (DISTINCT onum)
FROM Orders GROUP BY snum ORDER BY 2 DESC;
В этом случае был использован номер столбца, но так как выходной столбец не имеет имени, саму функцию агрегирования применять не понадобилось.
SELECT snum, COUNT (DISTINCT onum) FROM Orders;
|
|
Использование множества таблиц в одном запросе
Соединение таблиц.
Предположим, нужно установить связь между продавцами (Salespeople) и покупателями (Customers) в соответствии с местом их проживания, чтобы получить все возможные комбинации продавцов и покупателей из одного города. Для этого необходимо взять продавца из таблицы Salespeople и выполнить по таблице Customes поиск всех покупателей, имеющих то же значение в столбце city. Это можно сделать, введя следующую команду:
SELECT Customers.cname, Salespeople.sname, Salespeople.city
FROM Salespeople, Customers
WHERE Salespeople.city = Customers.city;
Операция соединения таблиц посредством ссылочной целостности
Эта операция применяется для использования связей, встроенных в базу данных. В предыдущем примере связь между таблицами была установлена с помощью операции соединения. Но эти таблицы уже связаны по значениям полем snum. Такая связь называется состоянием ссылочной целостности. Стандартное применение операции соединения состоит в извлечении данных в терминах этой связи. Чтобы показать соответствие имен покупателей именам продавцов, обслуживающих этих покупателей, используется следующий запрос:
SELECT Customers. cname, Salespeople. sname
FROM Customers, Salespeople
WHERE Salespeople.snum = Customers.snum;
Дата добавления: 2018-05-13; просмотров: 500; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!