11.2. Запити на вибірку
Для ілюстрації засобів і можливостей мови QBE використовуємо таблиці БД деякої торгової фірми, що продає товари декількох видів. База включає чотири таблиці:
ТаблСлужбовці: ПІБ – прізвище, ім’я і по батькові службовців, зарплата - розмір посадового окладу, відділ – назва відділу в якому працює службовець;
ТаблПродажі: відділ - назва відділу, товар - назва товару;
ТаблПостачальники: товар - назва товару, що поставляється; постачальник - назва фірми, що поставляє товар;
ТаблТипТовару: товар - назва товару, колір - його колір, вартість - вартість товару.
ТаблСлужбовці |
|
ТаблПродажі |
|||||||||||
ПІБ |
зарплата |
відділ |
|
відділ |
товар |
||||||||
Іванов В.М. |
2000 |
госптоваи |
|
канцтовари |
папір |
||||||||
Петров С.І. |
2300 |
іграшки |
|
госптоваи |
мило |
||||||||
Сідоров Е.А. |
2000 |
косметика |
|
канцтовари |
олівець |
||||||||
Левін П. Г. |
2600 |
канцтовари |
|
косметика |
помада |
||||||||
Носов А. П. |
1600 |
іграшки |
|
іграшки |
літак |
||||||||
Єгоров В.С. |
2200 |
косметика |
|
іграшки |
машина |
||||||||
Биков Т. В. |
1700 |
косметика |
|
іграшки |
лялька |
||||||||
Бєлкін Б.Н. |
1800 |
госптоваи |
|
косметика |
духи |
||||||||
Сёмін С.В. |
2600 |
канцтовари |
|
канцтовари |
чорнила |
||||||||
Грач А. Н. |
1900 |
іграшки |
|
госптоваи |
посуд |
||||||||
Томін А.Н. |
2000 |
іграшки |
|
канцтовари |
ручка |
||||||||
|
|
|
|||||||||||
ТаблПостачальники |
|
ТаблТипТовару |
|||||||||||
товар |
постачальник |
|
товар |
колір |
вартість |
||||||||
ручка |
Плямка |
|
посуд |
білий |
30,00гр. |
||||||||
папір |
Плямка |
|
помада |
червоний |
17,00гр. |
||||||||
мило |
Ромашка |
|
духи |
|
42,00гр. |
||||||||
олівець |
Школярик |
|
ручка |
зелений |
6,00гр. |
||||||||
чорнила |
Плямка |
|
олівець |
синій |
2,00гр. |
||||||||
духи |
Красуня |
|
чорнила |
зелений |
4,00гр. |
||||||||
чорнила |
Школярик |
|
чорнила |
синій |
3,00гр. |
||||||||
посуд |
Господарка |
|
олівець |
червоний |
2,50гр. |
||||||||
помада |
Красуня |
|
машина |
|
12,00гр. |
||||||||
літак |
Малятко |
|
папір |
білий |
15,00гр. |
||||||||
машина |
Малятко |
|
мило |
|
2,00гр |
||||||||
лялька |
Малятко |
|
літак |
|
28,00гр |
||||||||
посуд |
Школярик |
|
лялька |
|
30,00гр |
||||||||
ручка |
Красуня |
|
|
|
|
||||||||
олівець |
Плямка |
|
|
|
|
||||||||
Приклад 1. Запит із простою вибіркою - Вибрати з ТаблТипТовару всі товари зеленого кольору. Запитальна форма приведена на рис. 11.2. Щоб поле виводилося на печатку необхідно в рядку "вывод на экран" установити прапорець. Умова відбору для поля колір визначена як "зелений".
Запит1: Запит на вибірку |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Рисунок 11. 2. |
Відповідна таблиця за структурою цілком відповідає зразку і має вигляд
-
товар
колір
вартість
ручка
зелений
6,00гр.
чорнила
зелений
4,00гр.
Приклад 2. Запит з виводом не всіх полів - Вивести з ТаблТипТовару тільки найменування товарів зеленого кольору. У зразок можна не включати поле вартість, а для поля колір потрібно зняти прапорець виводу на екран. Запитальна форма приведена на рис. 11.3.
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
Рисунок 11. 3. |
товар |
ручка |
чорнила |
Приклад 3. Запит із простою вибіркою - Вибрати з ТаблТипТовару всі кольори товарів. Запитальна форма приведена на рис. 11.4.
Запит 3: Запит на вибірку |
||||||||||||||||||
|
||||||||||||||||||
Рисунок 11. 4. |
колір |
білий |
червоний |
|
зелений |
синій |
зелений |
синій |
червоний |
|
білий |
|
|
|
Варто звернути увагу на те, що деякі значення у відповідній таблиці повторюються. З цього випливає, що в простому запиті уникнути повторень значень не вдається. Щоб уникнути повторення значень необхідно у властивостях запиту установити дозвіл на вивід тільки унікальних значень або використати додаткову операцію угруповання, що буде розглянута пізніше.
Приклад 4. Запит простої вибірки з упорядкуванням - З ТаблСлужбовці вивести прізвища співробітників упорядкувавши їх за абеткою (по зростанню). Запитальна форма приведена на рис. 11.5., а результати виконання запиту у відповідній таблиці.
Спосіб упорядкування виведених значень "по зростанню" чи "по убуванню" вибирається зі списку, що розкривається, при натисканні кнопки в рядку Сортировка. Сортування можна робити по декількох полях одночасно. При цьому сортування спочатку виконується по першому полю, потім по другому і т.д. Наприклад, для таблиці з полями Прізвище, Ім'я, Зарплата на початку за алфавітом будуть відсортовані прізвища. Потім при наявності однофамільців вони будуть відсортовані по іменах. І, нарешті, при збігу прізвищ і імен буде виконано сортування по величині зарплати.
Запит 4: Запит на вибірку |
||||||||||||||||||
|
||||||||||||||||||
Рисунок 11. 5. |
ПІБ |
Бєлкін Б.Н. |
Биков Т. В. |
Грач А. Н. |
Єгоров В.С. |
Іванов В.М. |
Лєвін П. Г. |
Носов А. П. |
Петров С.І. |
Сёмін С.В. |
Сідоров Е.А. |
Томін А.Н. |

Запит
2:
Запит на вибірку