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

Вывод записей в нужном порядке

В общем случае вывод записей в запросе происходит в порядке, который может нас и не устраивать. Для вывода записей в определенном порядке используется директива ORDER BY, за которой указывается поле, по значениям которого производится упорядочение, и тип упорядочения: ASC – по возрастанию (выполняется по умолчанию); DESC – по убыванию.

Пример 4. Вывести все сведения из таблицы ТУРЫ в порядке убывания даты.

SELECT *

FROM ТУРЫ

ORDER BY Дата DESC

Выбор записей, удовлетворяющих условию отбора

Для формирования условия отбора используются:

1) операции сравнения: < меньше; <= меньше или равно; <> не равно; = равно; >= больше или равно; > больше; LIKEсравнение для текстовых величин;

2) логические операции: NOT не (отрицание); AND и (объединение); OR или;

3) директива BETWEENAND – проверка принадлежности к диапазону.

Пример 5. Вывести сведения обо всех турах дороже 30 тыс. р. в порядке возрастания количества туристов.

SELECT *

FROM ТУРЫ

WHERE Цена > 30000

ORDER BY Колич

Пример 6. Вывести сведения обо всех турах дешевле 30 тыс. р. с количеством участников менее 20 человек.

SELECT *

FROM ТУРЫ

WHERE (Цена<30000) AND (Колич<20)

Пример 7. Вывести сведения обо всех турах, состоявшихся до 12 июня 2002 г.

SELECT *

FROM ТУРЫ

WHERE Дата < #06/12/2002#

Обратим внимание на формат даты в запросах на языке SQL:

  1. значение даты заключается в символы «#» (решетка);

  2. на первом месте идет месяц, потом день и год;

  3. в качестве разделителя между месяцем, днем и годом используется косая черта.

Пример 8. Вывести сведения обо всех турах с числом участников от 18 до 22 человек.

SELECT *

FROM ТУРЫ

WHERE Колич BETWEEN 18 AND 22

Заметим, что в конструкции BETWEENAND граничные значения входят в диапазон.

Директива LIKE применяется только к полям символьного типа. Она позволяет выбрать записи, в которых значения поля совпадают с шаблоном, указанным в запросе. При этом используются следующие соглашения:

  1. символ «?» замещает любой одиночный символ, например, «к?т» соответствует словам «кот» или «кит», но не слову «крот»;

  2. знак «*» (звездочка) замещает последовательность любого числа символов (включая и нулевое их количество), например, «*к*т» будет соответствовать словам «экспорт», «кот», «акт», но не слову «квота».

Пример 9. Вывести названия всех фирм, оканчивающихся на букву «а».

Внимание!

В условии отбора буква «а» должна быть задана как русская, поскольку названия фирм заданы на русском языке.

SELECT Фирма FROM ФИРМЫ WHERE Фирма LIKE '*а'

Пример 10. Вывести названия всех стран, содержащих хотя бы одну букву «е».

SELECT Страна

FROM СТРАНЫ

WHERE Страна LIKE '*е*'

Использование агрегатных функций

Существуют функции, которые позволяют выполнить операции над группами выбранных полей:

· COUNT – подсчитывает количество строк, полученных в результате выполнения запроса;

· SUM – вычисляет сумму значений выбранного поля для всех строк, полученных в результате запроса;

· AVG – вычисляет среднее арифметическое для выбранного поля;

· MAX – вычисляет наибольшее из всех значений выбранного поля;

· MIN – вычисляет наименьшее из всех значений выбранного поля.

Пример 11. Вывести общее количество туристов, среднюю и максимальную цены одного тура.

SELECT SUM(Колич), AVG(Цена), MAX(Цена)

FROM ТУРЫ

Но следующий вариант смотрится лучше:

SELECT SUM(Колич) AS [Всего туристов],

AVG(Цена) AS [Средняя цена тура],

MAX(Цена) AS [Максимальная цена]

FROM ТУРЫ

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