1.Легка
Як відсортувати результат від найвищої до найнижчої зарплати?
- AORDER BY salary DESC
- BGROUP BY salary DESC
- CSORT salary DOWN
- DORDER BY salary ASC
2.Легка
Яка інструкція SQL отримує дані з таблиці?
- ACREATE
- BSELECT
- CINSERT
- DUPDATE
3.Легка
Яка агрегатна функція підраховує рядки?
- AAVG
- BMAX
- CCOUNT
- DSUM
4.Середня
Таблиця має рядки, де col дорівнює NULL. Які рядки повертає WHERE col = NULL?
- AЖодних рядків, бо результат порівняння невідомий
- BЛише рядки, де col дорівнює NULL, як і за IS NULL
- CУсі рядки таблиці
- DПомилку в кожній базі даних
5.Середня
Який запит повертає найвищу зарплату в кожному відділі?
- ASELECT dept, MAX(salary) FROM emp ORDER BY dept
- BSELECT MAX(dept), salary FROM emp GROUP BY salary
- CSELECT dept, MAX(salary) FROM emp GROUP BY dept
- DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
6.Середня
Чому SELECT price * 2 AS double_price FROM t WHERE double_price > 10 не виконується в більшості баз даних?
- AАрифметика не дозволена у списку SELECT
- BWHERE може порівнювати лише текстові стовпці
- CПсевдоніми не можуть містити підкреслення
- DWHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
7.Складна
Чому SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недійсний у стандартному SQL?
- AGROUP BY має перелічувати всі стовпці таблиці
- Bname не згруповано й не агреговано, тож він не має одного значення на групу
- Cdept має бути всередині агрегатної функції
- DCOUNT(*) не можна використовувати разом із GROUP BY
8.Складна
Транзакція T1 блокує рядок A й чекає на рядок B, а T2 блокує рядок B й чекає на рядок A. Що робить типова СКБД?
- AФіксує обидві транзакції одночасно
- BДозволяє обом транзакціям чекати, доки одна з них нормально зафіксується
- CОб’єднує дві транзакції в одну
- DВиявляє взаємне блокування й перериває одну транзакцію як жертву
Ключ відповідей
- 1. A · ORDER BY salary DESC
- 2. B · SELECT
- 3. C · COUNT
- 4. A · Жодних рядків, бо результат порівняння невідомий
- 5. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
- 6. D · WHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
- 7. B · name не згруповано й не агреговано, тож він не має одного значення на групу
- 8. D · Виявляє взаємне блокування й перериває одну транзакцію як жертву
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.