1.Лёгкая
Что означает NULL в SQL?
- AЛогическое значение «ложь»
- BОтсутствующее или неизвестное значение
- CПустую строку
- DЧисло ноль в числовых столбцах
2.Лёгкая
Что делает UNION с результатами двух запросов SELECT?
- AОставляет только строки, которые есть в первом запросе, но нет во втором
- BОбъединяет их в один результат и удаляет повторяющиеся строки
- CСоединяет их бок о бок по ключу
- DОставляет только строки, присутствующие в обоих
3.Лёгкая
Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?
- AFIRST 10 ONLY
- BMAX 10
- CLIMIT 10
- DTOP ROWS 10
4.Средняя
Какой запрос возвращает число различных городов в таблице customers?
- ASELECT SUM(DISTINCT city) FROM customers
- BSELECT COUNT(city) FROM customers GROUP BY city
- CSELECT COUNT(DISTINCT city) FROM customers
- DSELECT DISTINCT COUNT(city) FROM customers
5.Средняя
LEFT JOIN возвращает:
- AСтроки, не имеющие соответствия ни в одной таблице
- BТолько все строки из правой таблицы
- CТолько соответствующие строки из обеих таблиц
- DВсе строки из левой таблицы и соответствующие строки из правой, с NULL там, где соответствия нет
6.Средняя
Что делает GRANT SELECT ON employees TO alice?
- AДелает alice владельцем базы данных
- BКопирует таблицу employees пользователю alice
- CРазрешает пользователю alice читать таблицу employees
- DРазрешает alice изменять и удалять строки в таблице employees
7.Сложная
В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?
- AИндекс считает TRUE значением NULL
- BПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
- CОптимизатор никогда не использует индексы в предложениях WHERE
- DИндексы нельзя создавать по логическим столбцам
8.Сложная
Почему SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недопустим в стандартном SQL?
- Adept должен находиться внутри агрегатной функции
- BCOUNT(*) нельзя использовать вместе с GROUP BY
- CВ GROUP BY нужно перечислить все столбцы таблицы
- Dname не группируется и не агрегируется, поэтому у него нет единственного значения в группе
Ответы
- 1. B · Отсутствующее или неизвестное значение
- 2. B · Объединяет их в один результат и удаляет повторяющиеся строки
- 3. C · LIMIT 10
- 4. C · SELECT COUNT(DISTINCT city) FROM customers
- 5. D · Все строки из левой таблицы и соответствующие строки из правой, с NULL там, где соответствия нет
- 6. C · Разрешает пользователю alice читать таблицу employees
- 7. B · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
- 8. D · name не группируется и не агрегируется, поэтому у него нет единственного значения в группе
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.