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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

Что делает WHERE country IN ('NL', 'BE', 'DE')?

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

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

  1. ATRUNCATE ROWS
  2. BDELETE FROM
  3. CREMOVE TABLE
  4. DDROP TABLE
4.Средняя

Что возвращает SELECT SUM(amount) FROM orders, если предложению WHERE не соответствует ни одна строка?

  1. A0
  2. BNULL
  3. CПустую строку
  4. DОшибку
5.Средняя

Таблица хранит адрес клиента в каждой строке заказа. Изменение адреса в одной строке, но не в остальных, — пример:

  1. AФантомного чтения
  2. BАномалии удаления
  3. CАномалии вставки
  4. DАномалии обновления
6.Средняя

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

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

Почему NATURAL JOIN считается рискованным в рабочих запросах?

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

В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?

  1. AИндексы нельзя создавать по логическим столбцам
  2. BОптимизатор никогда не использует индексы в предложениях WHERE
  3. CПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
  4. DИндекс считает TRUE значением NULL

Ответы

  1. 1. C · UPDATE
  2. 2. D · Оставляет строки, в которых country равно любому значению из списка
  3. 3. D · DROP TABLE
  4. 4. B · NULL
  5. 5. D · Аномалии обновления
  6. 6. D · Соединить таблицу employees саму с собой, используя два псевдонима
  7. 7. D · Он соединяет по всем столбцам с одинаковыми именами, поэтому новый столбец может незаметно изменить результат
  8. 8. C · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу

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