1.Легка
Що робить GROUP BY у запиті?
- AВидаляє рядки зі значеннями NULL
- BСортує рядки результату за абеткою
- CЗ’єднує дві таблиці за спільними стовпцями
- DОб’єднує рядки з однаковими значеннями в групи, щоб агрегати обчислювалися для кожної групи
2.Легка
Яке обмеження гарантує, що стовпець ніколи не залишиться порожнім (NULL)?
- ADEFAULT
- BUNIQUE
- CNOT NULL
- DCHECK NULL
3.Легка
Яке ключове слово SQL видаляє рядки-дублікати з результату?
- ADISTINCT
- BUNIQUE
- CSINGLE
- DDIFFERENT
4.Середня
Який запит повертає кількість замовлень для кожного клієнта?
- ASELECT customer_id FROM orders WHERE COUNT(*) > 0
- BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- CSELECT DISTINCT COUNT(*) FROM orders
- DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.Середня
Що надає загальний табличний вираз (WITH name AS (...))?
- AІменований тимчасовий результат, який можна використовувати в межах однієї інструкції
- BПостійну таблицю, що зберігається на диску, доки її не буде видалено
- CІндекс на стовпці
- DНового користувача бази даних
6.Середня
Що означає функціональна залежність A → B?
- AКожне значення A пов’язане рівно з одним значенням B
- BA і B обидва є первинними ключами
- CКожне значення B пов’язане рівно з одним значенням A
- DA — зовнішній ключ, що посилається на B
7.Складна
Чого вимагає правило журналювання з випереджальним записом (WAL)?
- AСторінки даних мають записуватися раніше за журнал
- BЖурнал записують лише після збою
- CЗапис журналу про зміну має потрапити в стабільне сховище раніше, ніж змінена сторінка даних
- DКожен запит треба записати в журнал до його синтаксичного аналізу
8.Складна
Чому SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недійсний у стандартному SQL?
- Aname не згруповано й не агреговано, тож він не має одного значення на групу
- Bdept має бути всередині агрегатної функції
- CCOUNT(*) не можна використовувати разом із GROUP BY
- DGROUP BY має перелічувати всі стовпці таблиці
Ключ відповідей
- 1. D · Об’єднує рядки з однаковими значеннями в групи, щоб агрегати обчислювалися для кожної групи
- 2. C · NOT NULL
- 3. A · DISTINCT
- 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. A · Іменований тимчасовий результат, який можна використовувати в межах однієї інструкції
- 6. A · Кожне значення A пов’язане рівно з одним значенням B
- 7. C · Запис журналу про зміну має потрапити в стабільне сховище раніше, ніж змінена сторінка даних
- 8. A · name не згруповано й не агреговано, тож він не має одного значення на групу
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.