Робочий аркуш «Бази даних і SQL» з відповідями

Безкоштовний робочий аркуш для друку «Бази даних і SQL»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.

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

Ім’я: ____________________   Дата: ____________

1.Легка

Як відсортувати результат від найвищої до найнижчої зарплати?

  1. AORDER BY salary DESC
  2. BGROUP BY salary DESC
  3. CSORT salary DOWN
  4. DORDER BY salary ASC
2.Легка

Яка інструкція SQL отримує дані з таблиці?

  1. ACREATE
  2. BSELECT
  3. CINSERT
  4. DUPDATE
3.Легка

Яка агрегатна функція підраховує рядки?

  1. AAVG
  2. BMAX
  3. CCOUNT
  4. DSUM
4.Середня

Таблиця має рядки, де col дорівнює NULL. Які рядки повертає WHERE col = NULL?

  1. AЖодних рядків, бо результат порівняння невідомий
  2. BЛише рядки, де col дорівнює NULL, як і за IS NULL
  3. CУсі рядки таблиці
  4. DПомилку в кожній базі даних
5.Середня

Який запит повертає найвищу зарплату в кожному відділі?

  1. ASELECT dept, MAX(salary) FROM emp ORDER BY dept
  2. BSELECT MAX(dept), salary FROM emp GROUP BY salary
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
6.Середня

Чому SELECT price * 2 AS double_price FROM t WHERE double_price > 10 не виконується в більшості баз даних?

  1. AАрифметика не дозволена у списку SELECT
  2. BWHERE може порівнювати лише текстові стовпці
  3. CПсевдоніми не можуть містити підкреслення
  4. DWHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
7.Складна

Чому SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недійсний у стандартному SQL?

  1. AGROUP BY має перелічувати всі стовпці таблиці
  2. Bname не згруповано й не агреговано, тож він не має одного значення на групу
  3. Cdept має бути всередині агрегатної функції
  4. DCOUNT(*) не можна використовувати разом із GROUP BY
8.Складна

Транзакція T1 блокує рядок A й чекає на рядок B, а T2 блокує рядок B й чекає на рядок A. Що робить типова СКБД?

  1. AФіксує обидві транзакції одночасно
  2. BДозволяє обом транзакціям чекати, доки одна з них нормально зафіксується
  3. CОб’єднує дві транзакції в одну
  4. DВиявляє взаємне блокування й перериває одну транзакцію як жертву

Ключ відповідей

  1. 1. A · ORDER BY salary DESC
  2. 2. B · SELECT
  3. 3. C · COUNT
  4. 4. A · Жодних рядків, бо результат порівняння невідомий
  5. 5. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. D · WHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
  7. 7. B · name не згруповано й не агреговано, тож він не має одного значення на групу
  8. 8. D · Виявляє взаємне блокування й перериває одну транзакцію як жертву

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.