1.Лёгкая
Какое ключевое слово SQL удаляет повторяющиеся строки из результата?
- AUNIQUE
- BDISTINCT
- CSINGLE
- DDIFFERENT
2.Лёгкая
Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?
- AMAX 10
- BLIMIT 10
- CTOP ROWS 10
- DFIRST 10 ONLY
3.Лёгкая
Какой оператор SQL извлекает данные из таблицы?
- ACREATE
- BSELECT
- CINSERT
- DUPDATE
4.Средняя
Что означает буква «A» в аббревиатуре ACID?
- AДоступность (Availability)
- BТочность (Accuracy)
- CАтомарность (Atomicity)
- DАгрегация (Aggregation)
5.Средняя
Таблица хранит адрес клиента в каждой строке заказа. Изменение адреса в одной строке, но не в остальных, — пример:
- AАномалии удаления
- BФантомного чтения
- CАномалии обновления
- DАномалии вставки
6.Средняя
Какой запрос выводит клиентов, которые ни разу не размещали заказ?
- ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
7.Сложная
Запрос FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' неожиданно теряет клиентов без заказов. Почему?
- Astatus — зарезервированное слово
- BУсловие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
- CLEFT JOIN никогда не сохраняет строки без совпадений
- DВ соединении нужно использовать USING вместо ON
8.Сложная
Транзакция T1 блокирует строку A и ждёт строку B, а T2 блокирует строку B и ждёт строку A. Что делает типичная СУБД?
- AОбнаруживает взаимоблокировку и прерывает одну из транзакций как жертву
- BПозволяет обеим транзакциям ждать, пока одна из них не завершится нормально
- CФиксирует обе транзакции одновременно
- DОбъединяет две транзакции в одну
Ответы
- 1. B · DISTINCT
- 2. B · LIMIT 10
- 3. B · SELECT
- 4. C · Атомарность (Atomicity)
- 5. C · Аномалии обновления
- 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. B · Условие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
- 8. A · Обнаруживает взаимоблокировку и прерывает одну из транзакций как жертву
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.