Мои Конспекты
Главная | Обратная связь


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

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

Лабораторные работы №3,4

 

Построение запросов

 

Цель работы: получить практические навыки при построении запросов, формировании выходных данных, включая в запросы операции соединения таблиц, вложенные и связанные запросы, группировку выходных данных таблиц БД в среде СУБД Visual FoxPro.

 

Пояснения к работе

ФОРМАТИРОВАНИЕ РЕЗУЛЬТАТОВ ЗАПРОСОВ

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

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, упорядоченные по убыванию поля com­mission (comm):