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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какая агрегатная функция подсчитывает строки?

  1. AMAX
  2. BCOUNT
  3. CAVG
  4. DSUM
2.Лёгкая

Что делает COMMIT в транзакции?

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

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

  1. AMODIFY
  2. BINSERT
  3. CUPDATE
  4. DREPLACE COLUMN
4.Средняя

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

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

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

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

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

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

Как при многоверсионном управлении параллелизмом (MVCC) читающие транзакции могут не блокировать пишущие?

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

Запрос FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' неожиданно теряет клиентов без заказов. Почему?

  1. Astatus — зарезервированное слово
  2. BВ соединении нужно использовать USING вместо ON
  3. CLEFT JOIN никогда не сохраняет строки без совпадений
  4. DУсловие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее

Ответы

  1. 1. B · COUNT
  2. 2. D · Делает все изменения транзакции постоянными
  3. 3. C · UPDATE
  4. 4. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. B · Строки, присутствующие в обоих результатах
  6. 6. B · TRUNCATE TABLE
  7. 7. A · Читающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии
  8. 8. D · Условие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее

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