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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какое ключевое слово сортирует результат запроса?

  1. AORDER BY
  2. BGROUP BY
  3. CARRANGE
  4. DSORT
2.Лёгкая

Что делает UNION с результатами двух запросов SELECT?

  1. AОбъединяет их в один результат и удаляет повторяющиеся строки
  2. BОставляет только строки, которые есть в первом запросе, но нет во втором
  3. CОставляет только строки, присутствующие в обоих
  4. DСоединяет их бок о бок по ключу
3.Лёгкая

Какой оператор добавляет новый столбец в существующую таблицу?

  1. AUPDATE TABLE
  2. BALTER TABLE
  3. CCREATE COLUMN
  4. DINSERT COLUMN
4.Средняя

Какой запрос возвращает количество заказов по каждому клиенту?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  4. DSELECT DISTINCT COUNT(*) FROM orders
5.Средняя

Столбец содержит значения 10, 20 и NULL. Что возвращает AVG(col)?

  1. ANULL
  2. B10
  3. C15
  4. D30
6.Средняя

Внешний ключ объявлен с ON DELETE CASCADE. Что происходит при удалении родительской строки?

  1. AДочерние строки, ссылающиеся на неё, удаляются автоматически
  2. BВнешний ключ в дочерних строках автоматически становится NULL
  3. CРодительская строка копируется в архивную таблицу
  4. DУдаление всегда отклоняется
7.Сложная

Таблица enrolment(student_id, course_id, student_name, grade) имеет ключ (student_id, course_id). Какую нормальную форму она нарушает?

  1. AВторую нормальную форму, потому что student_name зависит только от student_id
  2. BТолько третью нормальную форму, потому что grade зависит от student_name
  3. CПервую нормальную форму, потому что столбец grade не содержит атомарных значений
  4. DНикакую, она в НФБК
8.Сложная

Что возвращает SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. AКаждую строку сотрудника вместе со средней зарплатой его отдела
  2. BТолько сотрудников, зарабатывающих больше среднего по отделу
  3. CПо одной строке на отдел со средней зарплатой
  4. DОшибку, потому что name нет в GROUP BY

Ответы

  1. 1. A · ORDER BY
  2. 2. A · Объединяет их в один результат и удаляет повторяющиеся строки
  3. 3. B · ALTER TABLE
  4. 4. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. C · 15
  6. 6. A · Дочерние строки, ссылающиеся на неё, удаляются автоматически
  7. 7. A · Вторую нормальную форму, потому что student_name зависит только от student_id
  8. 8. A · Каждую строку сотрудника вместе со средней зарплатой его отдела

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