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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

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

  1. ADIFFERENT
  2. BUNIQUE
  3. CDISTINCT
  4. DSINGLE
3.Лёгкая

К какой части SQL относятся операторы CREATE, ALTER и DROP?

  1. AЯзык управления транзакциями (TCL)
  2. BЯзык управления доступом к данным (DCL)
  3. CЯзык манипулирования данными (DML)
  4. DЯзык определения данных (DDL)
4.Средняя

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

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

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

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
6.Средняя

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

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

Каков результат SELECT COUNT(col) FROM t, если все значения в col равны NULL, а в таблице 10 строк?

  1. ANULL
  2. BОшибка
  3. C10
  4. D0
8.Сложная

Что такое покрывающий индекс для запроса?

  1. AИндекс, перестраиваемый каждую ночь
  2. BИндекс только по первичному ключу
  3. CИндекс, содержащий все нужные запросу столбцы, так что саму таблицу читать не нужно
  4. DИндекс, охватывающий каждый столбец каждой таблицы

Ответы

  1. 1. A · Оставляет строки, в которых country равно любому значению из списка
  2. 2. C · DISTINCT
  3. 3. D · Язык определения данных (DDL)
  4. 4. B · Соединить таблицу employees саму с собой, используя два псевдонима
  5. 5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. A · Аномалии обновления
  7. 7. D · 0
  8. 8. C · Индекс, содержащий все нужные запросу столбцы, так что саму таблицу читать не нужно

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