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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какой оператор SQL изменяет значения в уже существующих строках?

  1. AREPLACE COLUMN
  2. BINSERT
  3. CUPDATE
  4. DMODIFY
2.Лёгкая

Что возвращает CROSS JOIN?

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

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

  1. AARRANGE
  2. BGROUP BY
  3. CSORT
  4. DORDER BY
4.Средняя

Первая нормальная форма (1NF) требует, чтобы:

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

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

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

Какой оператор удаляет все строки таблицы, сохраняет её структуру и не может иметь предложения WHERE?

  1. ATRUNCATE TABLE
  2. BDELETE FROM с предложением WHERE
  3. CDROP TABLE
  4. DALTER TABLE
7.Сложная

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

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

Какая возможность SQL лучше всего подходит для поиска всех сотрудников, подчинённых руководителю, в организационном дереве неизвестной глубины?

  1. AGROUP BY по manager_id
  2. BОдно самосоединение таблицы employees по manager_id
  3. CРекурсивное обобщённое табличное выражение (WITH RECURSIVE)
  4. DОграничение UNIQUE на manager_id

Ответы

  1. 1. C · UPDATE
  2. 2. C · Все сочетания строк двух таблиц
  3. 3. D · ORDER BY
  4. 4. D · Каждый столбец содержал атомарные значения и не было повторяющихся групп
  5. 5. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. A · TRUNCATE TABLE
  7. 7. A · name не группируется и не агрегируется, поэтому у него нет единственного значения в группе
  8. 8. C · Рекурсивное обобщённое табличное выражение (WITH RECURSIVE)

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