Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тема4_ДСН.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
59.07 Кб
Скачать

15. Знайти максимальну і мінімальну кількість проданих товарів за одну покупку.

SELECT MAX(Продано) AS [Максимум], MIN(Продано) AS [Мінімум]

FROM Продажи;

Пропозиція group by

Запит з пропозицією називається груповим запитом; у ньому групуються дані, одержані в результаті виконання інструкції SELECT. При використанні в інструкції SELECT пропозиції GROUP BY кожен елемент списку в пропозиції SELECT повинен мати єдине значення для всієї групи. Всі імена стовпців, приведені в списку пропозиції SELECT, повинні бути присутніми і в пропозиції GROUP BY - за винятком випадку, коли ім'я стовпця використовується в агрегатній функції. У пропозиції GROUP BY не можна замість імен полів використовувати порядковий номер в списку SELECT.

16. Підрахувати кількість покупок, зроблених кожним з клієнтів.

SELECT Код_клиента, SUM(Продано) AS [кількість покупок]

FROM Продажи

GROUP BY Код_клиента;

17. Вибрати клієнтів, які зробили за один раз більше 10 покупок і упорядкувати результат у порядку спадання кількості покупок.

SELECT Код_клиента, SUM(Продано) AS [Kількість покупок]

FROM Продажи

WHERE Продано>10

GROUP BY Код_клиента

ORDER BY 2 DESC;

Пропозиція having

Визначає, які згруповані записи відображаються при використанні інструкції SELECT з пропозицією GROUP BY. Після того, як запису будуть згруповані за допомогою пропозиції GROUP BY, пропозиція HAVING відбере ті з одержаних записів, які задовольняють умовам відбору, вказаним в пропозиції HAVING.

Пропозиція HAVING є необов'язковою.

Пропозиція HAVING схоже на пропозицію WHERE, яка визначає, які записи повинні бути відібрані. Після того, як запису будуть згруповані за допомогою пропозиції GROUP BY, пропозиція HAVING указує, які з одержаних записів повинні бути відібрані:

Пропозиція HAVING може містити до 40 виразів, зв'язаних логічними операторами, такими як And і Or.

18. Вибрати тих клієнтів загальна кількість покупок яких більше 20.

SELECT Код_клиента, SUM(Продано) AS [Kількість покупок]

FROM Продажи

GROUP BY Код_клиента

HAVING SUM(Продано)>20

ORDER BY 2 DESC;

Пропозиція parameters (використання параметрів в запитах)

Підвищує гнучкість запитів, забезпечує можливість запрошувати у користувача чисельні значення критеріїв відбору даних. Розташовується перед інструкцією SQL і визначає тип даних параметрів.

Формат запису:

PARAMETERS [Ім'я параметра] тип даних;

Допустимі типи даних в Jet SQL

Bit Логічний

Byte Байт

Currency Грошовий

DateTime Дата/час

Long Довге ціле

Short Ціле

Float З плаваючою крапкою(8 байт)

Real З плаваючою крапкою(4 байти)

Text Текстовий

20. Видати всю інформацію про заданого клієнта, знаючи його код.

PARAMETERS [введи код_клиента] Long;

SELECT *

FROM Клієнти

WHERE Код_клиента=[введи код_клиента];

Вибірка даних з декількох таблиць

При цьому виконується операція з'єднання таблиць. З'єднання по рівності проводиться по загальному для декількох таблиць полю (як правило, одне їх їх ключове).

21. Вибрати прізвища, імена клієнтів і кількість проданих товарів для них з вказівкою дати продажу.

SELECT Прізвище, Ім'я, Продано, Дата_продажи

FROM Клієнти, Продажи

WHERE Клієнти.Код_клиента=Продажи,код_клиента;

22. Вибрати прізвища клієнтів, найменування товарів, кількість проданих товарів, дату продажу.

SELECT Прізвище, Найменування, Продано, Дата_продажи

FROM Клієнти, Товари, Продажи

WHERE (Клієнти.Код_клиента=Продажи,код_клиента)

AND (Товари.Код_товара=Продажи,Код_товара);

23. Вибрати прізвища клієнтів, найменування товару і загальну кількість покупок цих товарів.

SELECT Прізвище, Найменування, SUM(Продано) AS [Кількість покупок]

FROM Клієнти, Товари, Продажи

WHERE (Клієнти.Код_клиента=Продажи,код_клиента)

AND (Товари.Код_товара=Продажи,Код_товара)

GROUP BY Прізвище, Найменування;