Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Илюшечкин / Отчёт_лаб_7.docx
Скачиваний:
17
Добавлен:
25.12.2020
Размер:
222.6 Кб
Скачать

19. Для чего предназначено предложение order by?

ORDER BY сортирует таблицу результатов запроса на основании данных, содержащихся в одном или нескольких столбцах.

20. Как создать, выполнить и сохранить sql-запрос в Access?

Для создания SQL-запроса в Access необходимо выполнить следующую последовательность действий после выбора вкладки “Создание” на ленте:

1) на вкладке выбрать команду “Конструктор запросов”;

2) закрыть окно “Добавление таблицы”;

3) на контекстной вкладке “Конструктор” выбрать команду “Режим SQL” или в нижнем правом углу окна базы данных нажать кнопку “Режим SQL”, чтобы задать этот режим в окне запроса;

4) в окне запроса ввести оператор на языке SQL;

5) на панели инструментов нажать кнопку “Выполнить” (кнопка с восклицательным знаком), чтобы отобразить таблицу результатов в окне запроса;

6) исправить ошибки в операторе, если СУБД их обнаружила и не сформировала таблицу результатов, и повторно нажать кнопку “Выполнить”;

7) сохранить запрос, нажав кнопку “Сохранить” на панели быстрого доступа;

8) перейти в режим SQL с помощью команды или кнопки “Режим SQL”.

Запросы

Сформулировать не менее 15 запросов для получения всесторонней информации о предметной области и записать запросы на языке SQL. Среди запросов должны быть итоговые, одно- и многотабличные запросы, запросы с сортировкой и группировкой; должны быть использованы все 5 видов условий поиска.

Итоговые:

  1. Минимальная цена доставки;

SELECT MIN(Расходы) FROM Доставка

  1. Средний срок доставки (в днях).

SELECT AVG(СрокДоставки) FROM Доставка;

Условия поиска:

  1. Сравнение по сроку доставки. Вывести транспортные организации, которые доставляют товар меньше, чем за 5 дней; (многотабличный)

SELECT Транспортная_Организация.Название, Доставка.НомерОрганизации

FROM Транспортная_Организация INNER JOIN Доставка ON Транспортная_Организация.НомерОрганизации = Доставка.НомерОрганизации

WHERE Доставка.СрокДоставки<5;

  1. Проверка принадлежности товара 1-3 оптовым базам; (многотабличный)

SELECT Доставка.КодТовара, Товар.Название, НомерБазы

FROM Товар INNER JOIN Доставка ON Товар.КодТовара = Доставка.КодТовара

WHERE НомерБазы BETWEEN 1 AND 3;

  1. Проверка на членство во множестве. Выводится номер и название товара по номеру предприятия; (многотабличный)

SELECT Доставка.КодТовара, Товар.Название, НомерПредприятия

FROM Товар INNER JOIN Доставка ON Товар.КодТовара = Доставка.КодТовара

WHERE НомерПредприятия IN (1,3,4);

  1. Проверка на соответствие шаблону. Выводит строки из таблицы «Транспортная_Организация», в который встречается название, введённое с клавиатуры;

SELECT Транспортная_Организация.НомерОрганизации, Транспортная_Организация.Название

FROM Транспортная_Организация

WHERE (((Транспортная_Организация.Название)=[’Введите название’]));

  1. Проверка на соответствие шаблону. Выводит сведения о товаре, цена которого начинается с 1;

SELECT Товар.Название, Доставка.КодТовара, Доставка.Расходы

FROM Товар INNER JOIN Доставка ON Товар.КодТовара = Доставка.КодТовара

WHERE (((Доставка.Расходы) LIKE [’*9’]));Проверка на равенство значению NULL.

  1. Вывод товаров, цена за доставку на которые не определена.

SELECT Расходы, КодТовара

FROM Доставка

WHERE Расходы IS NOT NULL

Запросы с сортировкой:

  1. Сортировка по цене за доставку (убывание);

SELECT НомерОрганизации, КодТовара, НомерБазы, НомерПредприятия, Расходы, СрокДоставки

FROM Доставка

ORDER BY Расходы DESC

  1. Сортировка наименований товара (таблица «товар»);

SELECT КодТовара, Название

FROM Товар

ORDER BY Название

  1. Сортировка по коду товара, выводить название оптовой базы по коду товара. (многотабличный)

SELECT Доставка.КодТовара, Доставка.НомерБазы, Оптовая_База.Название

FROM Оптовая_База INNER JOIN Доставка ON Оптовая_База.НомерБазы = Доставка.НомерБазы

ORDER BY КодТовара

Запросы с группировкой:

  1. Определить цену за доставку товара для каждой оптовой базы;

SELECT Оптовая_База.Название, Доставка.НомерБазы, Доставка.КодТовара, SUM(Расходы)

FROM Оптовая_База, Доставка

WHERE Оптовая_База.НомерБазы = Доставка.НомерБазы

GROUP BY Доставка.НомерБазы, Оптовая_База.Название, Доставка.КодТовара

  1. Сколько предприятий пользуется услугами каждой транспортной организации;

SELECT НомерОрганизации, НомерПредприятия, COUNT(НомерПредприятия)

FROM Доставка

GROUP BY НомерОрганизации, НомерПредприятия

  1. Включение в таблицу результатов по условию поиска 1 (3) цены на расходы;

SELECT Доставка.Расходы, Сравнение_по_сроку_доставки.Название, Доставка.НомерОрганизации

FROM Доставка, Сравнение_по_сроку_доставки

WHERE Сравнение_по_сроку_доставки.НомерОрганизации = Доставка.НомерОрганизации

  1. Содержит все столбцы таблицы «доставка» и один столбец из таблицы «предприятие».

SELECT Доставка.*, Предприятие.НомерПредприятия

FROM Предприятие, Доставка

WHERE (((Предприятие.НомерПредприятия)=[Доставка].[НомерПредприятия]));

Соседние файлы в папке Илюшечкин