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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

  1. ADISTINCT
  2. BDIFFERENT
  3. CUNIQUE
  4. DSINGLE
2.Лёгкая

Какие строки отбирает WHERE price BETWEEN 10 AND 20?

  1. AСтроки с ценой больше 10 и меньше 20, без 10 и 20
  2. BСтроки с ценой вне диапазона от 10 до 20
  3. CСтроки с ценой от 10 до 20, включая 10 и 20
  4. DТолько строки с ценой, равной 10 или 20
3.Лёгкая

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

  1. AINSERT COLUMN
  2. BCREATE COLUMN
  3. CALTER TABLE
  4. DUPDATE TABLE
4.Средняя

Что возвращает SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. AОшибку, потому что CASE нельзя использовать в SELECT
  2. BЧисло сдавших и не сдавших студентов
  3. CТолько студентов, сдавших экзамен
  4. DКаждое имя с меткой 'pass' или 'fail' в зависимости от оценки
5.Средняя

В таблице orders 5 строк, каждая ссылается на существующего клиента. В таблице customers 3 строки. Сколько строк вернёт INNER JOIN по customer_id?

  1. A3
  2. B5
  3. C15
  4. D8
6.Средняя

Что такое «грязное чтение» (dirty read)?

  1. AЧтение данных, записанных другой транзакцией, которая ещё не зафиксирована
  2. BЧтение данных с повреждённого диска
  3. CЧтение данных без предложения WHERE
  4. DДвукратное чтение одной строки с получением одного и того же значения
7.Сложная

Два дежурных врача каждый проверяют, что другой ещё на дежурстве, а затем оба одновременно снимаются с дежурства. Какую аномалию здесь всё ещё допускает изоляция снимков (snapshot isolation)?

  1. AГрязную запись
  2. BАсимметрию записи (write skew)
  3. CНеповторяемое чтение в пределах одной транзакции
  4. DГрязное чтение
8.Сложная

Почему после customers LEFT JOIN orders для подсчёта заказов клиента используют COUNT(o.id), а не COUNT(*)?

  1. ACOUNT(o.id) считает только различных клиентов
  2. BCOUNT(*) нельзя использовать после соединения
  3. CCOUNT(*) игнорирует строки со значениями NULL
  4. DCOUNT(*) считает заполненную NULL строку как 1 для клиентов без заказов

Ответы

  1. 1. A · DISTINCT
  2. 2. C · Строки с ценой от 10 до 20, включая 10 и 20
  3. 3. C · ALTER TABLE
  4. 4. D · Каждое имя с меткой 'pass' или 'fail' в зависимости от оценки
  5. 5. B · 5
  6. 6. A · Чтение данных, записанных другой транзакцией, которая ещё не зафиксирована
  7. 7. B · Асимметрию записи (write skew)
  8. 8. D · COUNT(*) считает заполненную NULL строку как 1 для клиентов без заказов

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