1.Лёгкая
Какой оператор SQL изменяет значения в уже существующих строках?
- AINSERT
- BUPDATE
- CREPLACE COLUMN
- DMODIFY
2.Лёгкая
Какой оператор добавляет новый столбец в существующую таблицу?
- AALTER TABLE
- BUPDATE TABLE
- CINSERT COLUMN
- DCREATE COLUMN
3.Лёгкая
Что такое составной ключ (composite key)?
- AКлюч, состоящий из двух или более столбцов
- BКлюч, хранящийся в отдельной таблице
- CКлюч, генерируемый базой данных
- DКлюч, допускающий повторяющиеся значения
4.Средняя
Столбец содержит значения 10, 20 и NULL. Что возвращает AVG(col)?
- A10
- B30
- CNULL
- D15
5.Средняя
Почему SELECT price * 2 AS double_price FROM t WHERE double_price > 10 в большинстве баз данных завершается ошибкой?
- AWHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
- BWHERE может сравнивать только текстовые столбцы
- CАрифметика в списке SELECT не допускается
- DПсевдонимы не могут содержать подчёркивание
6.Средняя
Студенты могут посещать много курсов, а на курсах много студентов. Как это моделируется в таблицах?
- AОбъединением студентов и курсов в одну таблицу
- BСвязующей таблицей с внешними ключами и на студентов, и на курсы
- CСписком id курсов, хранящимся в одном столбце
- DСтолбцом внешнего ключа course_id в таблице студентов, указывающим на courses
7.Сложная
В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?
- AПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
- BИндекс считает TRUE значением NULL
- CИндексы нельзя создавать по логическим столбцам
- DОптимизатор никогда не использует индексы в предложениях WHERE
8.Сложная
Какая возможность SQL лучше всего подходит для поиска всех сотрудников, подчинённых руководителю, в организационном дереве неизвестной глубины?
- AGROUP BY по manager_id
- BОдно самосоединение таблицы employees по manager_id
- CРекурсивное обобщённое табличное выражение (WITH RECURSIVE)
- DОграничение UNIQUE на manager_id
Ответы
- 1. B · UPDATE
- 2. A · ALTER TABLE
- 3. A · Ключ, состоящий из двух или более столбцов
- 4. D · 15
- 5. A · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
- 6. B · Связующей таблицей с внешними ключами и на студентов, и на курсы
- 7. A · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
- 8. C · Рекурсивное обобщённое табличное выражение (WITH RECURSIVE)
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.