1.Лёгкая
Что такое составной ключ (composite key)?
- AКлюч, состоящий из двух или более столбцов
- BКлюч, генерируемый базой данных
- CКлюч, допускающий повторяющиеся значения
- DКлюч, хранящийся в отдельной таблице
2.Лёгкая
Какое ключевое слово SQL удаляет повторяющиеся строки из результата?
- ASINGLE
- BDISTINCT
- CDIFFERENT
- DUNIQUE
3.Лёгкая
Какое ограничение гарантирует, что столбец никогда не останется пустым (NULL)?
- ACHECK NULL
- BDEFAULT
- CNOT NULL
- DUNIQUE
4.Средняя
В таблице employees есть столбец manager_id, ссылающийся на другого сотрудника. Как вывести каждого сотрудника рядом с именем его руководителя?
- AИспользовать только GROUP BY manager_id
- BОбъединить таблицу с самой собой через UNION ALL и фильтр WHERE
- CСоединить таблицу employees саму с собой, используя два псевдонима
- DСоздать на диске вторую копию таблицы
5.Средняя
Что возвращает SELECT COALESCE(phone, 'unknown') FROM customers для клиента, у которого phone равен NULL?
- AПустую строку
- BОшибку
- CNULL
- D'unknown'
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 = 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 IS NULL
7.Сложная
Таблица b содержит в столбце y значения 1, 2 и NULL. Что возвращает SELECT * FROM a WHERE x NOT IN (SELECT y FROM b)?
- AВообще никаких строк
- BТолько строки a, где x равен NULL
- CСтроки a, где x не равен 1 или 2
- DКаждую строку a
8.Сложная
Две транзакции читают stock = 10, каждая вычитает 1 и записывает результат, получая 9 вместо 8. Какая это аномалия?
- AПотерянное обновление
- BАномалия удаления
- CФантомное чтение
- DГрязное чтение
Ответы
- 1. A · Ключ, состоящий из двух или более столбцов
- 2. B · DISTINCT
- 3. C · NOT NULL
- 4. C · Соединить таблицу employees саму с собой, используя два псевдонима
- 5. D · 'unknown'
- 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. A · Вообще никаких строк
- 8. A · Потерянное обновление
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.