Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Коннолли Т. -> "Базы данных. Проектирование, реализация и сопровождение. Теория и практика" -> 83

Базы данных. Проектирование, реализация и сопровождение. Теория и практика - Коннолли Т.

Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика — М.: Вильямc, 2003. — 1440 c.
ISBN 5-8459-0527-3
Скачать (прямая ссылка): bazidannihpproekt2003.djv
Предыдущая << 1 .. 77 78 79 80 81 82 < 83 > 84 85 86 87 88 89 .. 683 >> Следующая


Select clientNo, л ewDati FROM Viewing

WHERE propertyNo = 1PG41 AND comment IS NULL; Результаты выполнения запроса представлены в табл. 5.12. Таблица 5.12. Результат выполнения запроса из примера 5.10 clientNo

CR56_26-Мау-01

Для проверки присутствия в столбце значений, отличных от NULL, может использоваться версия данного условия поиска, которая имеет противоположный СМЫСЛ (IS NOT NULL)._

date

5.3.2. Сортировка результатов(конструкцияОЕТОЕРВ?)

В общем случае строки в результирующей таблице запроса SQL не упорядочены каким-либо определенным образом (хотя в некоторых СУБД может быть предусмотрено применение по умолчанию определенного способа упорядочения, например по первичному ключу). Однако их можно отсортировать надлежащим образом, для чего в оператор SELECT помещается конструкция ORDER BY. Конструкция ORDER BY включает список разделенных запятыми идентификаторов столбцов, по которым требуется упорядочить результирующую таблицу запроса. Идентификатор столбца может представлять собой либо его имя, либо номер-1, который обозначает элемент списка SELECT в соответствии с его позицией в этом списке. Самый левый элемент списка имеет номер 1, следующий — 2 и т.д. Номера столбцов могут использоваться в тех случаях, когда столбцы, по которым следует упорядочить результат, являются вычисляемыми, а конструкция AS с указанием имени этого столбца в операторе SELECT отсутствует. Конструкция ORDER BY позволяет упорядочить выбранные записи в порядке возрастания (ASC) или убывания (DESC) значений любого столбца или комбинации столбцов, независимо от того, при^утст-

' Номера столбцов являются устаревшим средством стандарта ISO, поэтому их не реко мендуется использовать.

Глава 5. Язык SQL: манипулирование данными

179 - J-I эти столбцы в таблице результатов или нет. Однако в некоторых диалектах SQL требуется, чтобы конструкция ORDER BY обязательно присутствовала в списке выборки оператора SELECT. В любом случае конструкция ORDER BY всегда должна быть последним элементом в операторе SELECT.

Пример 5.11. Сортировка по значениям одного столбца

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

SELECT staffNo, INane1 IKame, salary FROM Staff

ORDER BY salary DESC;

Этот пример подобен примеру 5.2. Различие состоит лишь в том. что полученные в результате выполнения запроса данные следует упорядочить по убыванию значений заработной платы в столбце salary. Это достигается посредством помещения в конец оператора SELECT конструкции ORDER BY, задающей сортировку результирующей таблицы по убыванию значений в столбце salary. А поскольку значения должны располагаться в порядке убывания, то указано ключевое слово DESC. Результаты выполнения запроса представлены в табл. 5.13. Обратите внимание, что конструкция ORDER BY может быть записана и в следующем виде: ORDER BY 4 DESC. Здесь 4 обозначает четвертый столбец в списке выборки оператора SELECT, т.е. столбец salary.

Таблица 5.13. Результат выполнения запроса из примера і 11

staffNo

SL21

SG 5

SG14

SG37

SA9

SL41

fName

John

Susan

David

Ann

Mary

Julie

IName

White

Brand

Ford

Beech

Howe

Lee

salary

30000.00 24000.00 18000.00 12000.00 9000.OO 9TOO.OO

В конструкции ORDER BY может быть указано и больше одного элемента. Старший ключ сортировки определяет общую упорядоченность строк результирующей таблицы. В предыдущем примере старшим ключом сортировки является столбец salary. Если значения старшего ключа сортировки во всех строках результирующей таблицы являются уникальными, нет необходимости использовать дополнительные ключи сортировки. Однако, если значения старшего ключа не уникальны, в результирующем таблице будет присутствовать несколько строк с одним и тем же значением старшего ключа сортировки. В этом случае может оказаться желательным упорядочить строки с одним и тем же значением старшего ключа по какому-либо дополнительному ключу сортировки. Если в конструкции ORDER BY присутствуют второй и последующие элементы, то такие элементы наэмвают младшими ключами сортировки.

180

Часть 11. Реляционная модель и языки Пример 5 12. Сортировка по нескольким столбцам

Подготовьте сокращенный список сдаваемых в аренду объектов, упорядоченный по типу.

SELECT propertyNo, type, rooms, rent FROM PropertyForRent ORDER BY type;

После выполнения этого запроса будет создана результирующая таблица (табл.б.14).

Таблица 5.14. Результат выполнения запроса из примера о.12с сортировкой по одному столбцу

propertyNo type rooms rent
PL94 Flat 4 400
PG4 Fiat 3 350
PG36 Flat 3 375
PG16 Flat 4 450
РА14 House 6 650
PG21 House 5 600

В полученных результатах присутствуют сведения о четырех квартирах. Если не указан младший ключ сортировки, система расположит эти строки в произвольном порядке. Для того чтобы упорядочить их, например, в порядке убывания арендной платы rent, следует дополнительно указать младший ключ сортировки:

SELECT propertyNo, type, rooms, rent FROM F~ . DertyFoirient ORDER BY type, rent DESC;
Предыдущая << 1 .. 77 78 79 80 81 82 < 83 > 84 85 86 87 88 89 .. 683 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100