Базы данных и SQL: лист заданий с ответами

Бесплатный лист заданий для печати по теме «Базы данных и SQL»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.

Для преподавателей: можно бесплатно печатать, копировать и использовать на занятиях. Каждый новый лист содержит новые значения и собственные ответы. Будем благодарны за ссылку на ExamProblems на странице вашего курса.

Имя: ____________________   Дата: ____________

1.Лёгкая

Чем UNION ALL отличается от UNION?

  1. AUNION ALL сортирует результат
  2. BUNION ALL сохраняет повторяющиеся строки
  3. CUNION ALL удаляет повторяющиеся строки
  4. DUNION ALL работает только с одной таблицей
2.Лёгкая

Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?

  1. AFIRST 10 ONLY
  2. BMAX 10
  3. CTOP ROWS 10
  4. DLIMIT 10
3.Лёгкая

Какой оператор используется для простого сопоставления текста с шаблоном в предложении WHERE?

  1. ACONTAINS
  2. BSIMILAR
  3. CMATCH
  4. DLIKE
4.Средняя

Что возвращает INTERSECT, использованный между двумя запросами SELECT?

  1. AСтроки, которые есть в первом результате, но нет во втором
  2. BДекартово произведение результатов
  3. CСтроки, присутствующие в обоих результатах
  4. DВсе строки обоих результатов
5.Средняя

Что возвращает SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. AЧисло сдавших и не сдавших студентов
  2. BТолько студентов, сдавших экзамен
  3. CОшибку, потому что CASE нельзя использовать в SELECT
  4. DКаждое имя с меткой 'pass' или 'fail' в зависимости от оценки
6.Средняя

В таблице employees есть столбец manager_id, ссылающийся на другого сотрудника. Как вывести каждого сотрудника рядом с именем его руководителя?

  1. AСоединить таблицу employees саму с собой, используя два псевдонима
  2. BОбъединить таблицу с самой собой через UNION ALL и фильтр WHERE
  3. CСоздать на диске вторую копию таблицы
  4. DИспользовать только GROUP BY manager_id
7.Сложная

Почему SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недопустим в стандартном SQL?

  1. Adept должен находиться внутри агрегатной функции
  2. BВ GROUP BY нужно перечислить все столбцы таблицы
  3. Cname не группируется и не агрегируется, поэтому у него нет единственного значения в группе
  4. DCOUNT(*) нельзя использовать вместе с GROUP BY
8.Сложная

Приложение выполняет UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 и сообщает о конфликте, если ни одна строка не обновлена. Что это за техника?

  1. AШардирование базы данных
  2. BОптимистическое управление параллелизмом
  3. CСтрогая двухфазная блокировка с блокировками строк
  4. DЖурнализация с упреждающей записью

Ответы

  1. 1. B · UNION ALL сохраняет повторяющиеся строки
  2. 2. D · LIMIT 10
  3. 3. D · LIKE
  4. 4. C · Строки, присутствующие в обоих результатах
  5. 5. D · Каждое имя с меткой 'pass' или 'fail' в зависимости от оценки
  6. 6. A · Соединить таблицу employees саму с собой, используя два псевдонима
  7. 7. C · name не группируется и не агрегируется, поэтому у него нет единственного значения в группе
  8. 8. B · Оптимистическое управление параллелизмом

Полные пошаговые решения: занимайтесь этой темой на examproblems.com.