1.Лёгкая
Какая агрегатная функция подсчитывает строки?
- AMAX
- BCOUNT
- CAVG
- DSUM
2.Лёгкая
Что делает COMMIT в транзакции?
- AСоздаёт новую таблицу
- BБлокирует всю базу данных
- CОтменяет все изменения, сделанные с начала транзакции
- DДелает все изменения транзакции постоянными
3.Лёгкая
Какой оператор SQL изменяет значения в уже существующих строках?
- AMODIFY
- BINSERT
- CUPDATE
- DREPLACE COLUMN
4.Средняя
Какой запрос возвращает количество заказов по каждому клиенту?
- ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- BSELECT DISTINCT COUNT(*) FROM orders
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
5.Средняя
Что возвращает INTERSECT, использованный между двумя запросами SELECT?
- AДекартово произведение результатов
- BСтроки, присутствующие в обоих результатах
- CСтроки, которые есть в первом результате, но нет во втором
- DВсе строки обоих результатов
6.Средняя
Какой оператор удаляет все строки таблицы, сохраняет её структуру и не может иметь предложения WHERE?
- ADROP TABLE
- BTRUNCATE TABLE
- CDELETE FROM с предложением WHERE
- DALTER TABLE
7.Сложная
Как при многоверсионном управлении параллелизмом (MVCC) читающие транзакции могут не блокировать пишущие?
- AЧитающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии
- BЧитающие всегда ждут, пока все пишущие не зафиксируются
- CЗапись не допускается, пока активна хоть одна читающая транзакция
- DЧитающие напрямую читают незафиксированные данные
8.Сложная
Запрос FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' неожиданно теряет клиентов без заказов. Почему?
- Astatus — зарезервированное слово
- BВ соединении нужно использовать USING вместо ON
- CLEFT JOIN никогда не сохраняет строки без совпадений
- DУсловие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
Ответы
- 1. B · COUNT
- 2. D · Делает все изменения транзакции постоянными
- 3. C · UPDATE
- 4. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. B · Строки, присутствующие в обоих результатах
- 6. B · TRUNCATE TABLE
- 7. A · Читающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии
- 8. D · Условие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.