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

Приклади запитів

Розглянемо наступну схему даних

1. Вибрати всю інформацію з таблиці Товари

SELECT *

FROM товари;

2. Вибрати список наявних товарів з вказівкою ціни.

SELECT найменування, ціна

FROM товари;

3. Вибрати найменування товарів(без повторень)

SELECT DISTINCT найменування

FROM товари;

4. Вибрати всі товари 2-й категорії

SELECT *

FROM товари

WHERE категория=2;

5. Вибрати інформацію про товари, продані з 1-го жовтня 2002 р.

SELECT *

FROM продажи

WHERE дата_продажи>#10/1/2002#;

6. Вибрати клієнтів, у яких не вказаний телефон.

SELECT прізвище, ім'я, по батькові, місто, підприємство

FROM клієнти

WHERE телефон Is Null;

7. Вибрати товари, ціна яких знаходиться в діапазоні від 10 до 200.

SELECT *

FROM Товари

WHERE Ціна BETWEEN 10 AND 200;

Або

7а. SELECT *

FROM Товари

WHERE Цена>=10 AND Цена<=200;

8. Вибрати клієнтів з Одеси, Києва.

SELECT *

FROM Клієнти

WHERE город='Одесса' OR город='Киев';

9. Вибрати клієнтів з Одеси, Києва, Львова.

SELECT *

FROM Клієнти

WHERE місто IN ('Одесса','Киев','Львов');

10. Вибрати клієнтів, прізвище яких починається на букву А

SELECT *

FROM Клієнти

WHERE ФІО LIKE ‘А *’;

11. Вибрати клієнтів, для яких номер телефону починається з 8067774, а решта 4 цифр невідома.

SELECT *

FROM Клієнти

WHERE Телефон LIKE ‘8067774####’;

Пропозиція order by (сортування результатів)

Пропозиція ORDER BY сортує записи, одержані в результаті запиту, у порядку зростання або убування на основі значень вказаного поля або полів. За умовчанням використовується порядок сортування за збільшенням( від А до Я і від 0 до 9). Для сортування по спаданню ( від Я до А і від 9 до 0) слід додати зарезервоване слово DESC після кожного імені поля, яке потрібно відсортувати в спадаючому порядку. Пропозиція ORDER BY може містити декілька полів. Спочатку записи сортуються по першому полю в списку ORDER BY, потім записи, що мають співпадаючі значення в першому полі сортуються по другому полю і т.д.

12. Відсортувати список товарів за абеткою.

SELECT *

FROM Товари

ORDER BY Найменування;

13. Видати список товарів у порядку спадання ціни.

SELECT *

FROM Товари

ORDER BY 4 DESC;

Тут вказаний номер стовпця сортування.

14. Видати список товарів у порядку зростання категорій, в алфавітному порядку найменувань, по спаданню ціни.

SELECT *

FROM Товари

ORDER BY Категорія, Найменування, Ціна DESC;

Застосування агрегатних функцій в інструкції select

Агрегатна функція Опис

AVG Повертає середнє значення окремого поля

COUNT Повертає кількість записів в таблиці

SUM Повертає суму значень окремого поля

MAX Повертає найбільше значення в специфікованому полі

MIN Повертає найменше значення в специфікованому полі

Агрегатні функції оперують із значеннями в єдиному стовпці таблиці і повертають єдине значення. Функції COUNT, MAX, MIN застосовні як до числових, так і до нечислових полів. Функції SUM, AVG можуть використовуватися тільки у разі числових полів. За винятком COUNT (*), при обчисленні результатів будь-яких функцій спочатку виключаються всі порожні значення, після чого необхідна операція застосовується тільки до конкретних значень стовпця, що залишилися. Варіант COUNT (*) є особливим випадком використання функції COUNT - його призначення полягає в підрахунку всіх рядків в результуючій таблиці, незалежно від того, містяться там порожні, такі, що дублюються або будь-які інші значення.

Якщо до застосування агрегатної функції необхідно виключити значення, що дублюються, слідує перед ім'ям стовпця у визначенні функції помістити ключове слово DISTINCT. Ключове слово DISTINCT не має сенсу для функцій MAX і MIN. Проте його використання може надавати ефект на результати виконання функцій SUM і AVG, тому слід наперед обдумати, чи повинне воно бути присутнім у кожному конкретному випадку, Крім того, ключове слово DISTINCT в кожному запиті може бути вказано не більше одного разу.

Дуже важливо відзначити, що агрегатні функції можуть використовуватися тільки в списку пропозиції SELECT і у складі пропозиції HAVING. У всіх інших випадках використання цих функцій неприпустимо. Якщо список в пропозиції SELECT містить агрегатні функції, а в тексті запиту відсутня фраза GROUP BY, що забезпечує об'єднання даних в групи, то жоден з елементів списку пропозиції SELECT не може включати яких - або посилань на стовпці, за винятком випадку, коли цей стовпець використовується як аргумент агрегатної функції.