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

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

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

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

1.Легка

INNER JOIN повертає:

  1. AУсі рядки з лівої таблиці, з NULL там, де збігу немає
  2. BЛише рядки зі збіжними значеннями в обох таблицях
  3. CРядки, що не збігаються
  4. DУсі рядки з обох таблиць
2.Легка

Що означає символ-замінник % у шаблоні LIKE?

  1. AБудь-яку послідовність із нуля чи більше символів
  2. BРівно один символ у цій позиції рядка
  3. CКінець рядка
  4. DБудь-яку одну цифру
3.Легка

Що робить UNION з результатами двох запитів SELECT?

  1. AЗалишає лише рядки, які є в першому запиті, але не в другому
  2. BЗ’єднує їх поруч за ключем
  3. CОб’єднує їх в один результат і видаляє дублікати рядків
  4. DЗалишає лише рядки, що є в обох
4.Середня

Що робить ROLLBACK TO SAVEPOINT s1?

  1. AСкасовує всю транзакцію від початку
  2. BЗавершує транзакцію і фіксує все
  3. CСкасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
  4. DВидаляє точку збереження й усі таблиці, змінені відтоді
5.Середня

Що повертає SELECT SUM(amount) FROM orders, коли речення WHERE не відповідає жодному рядку?

  1. A0
  2. BПомилку
  3. CNULL
  4. DПорожній рядок
6.Середня

LEFT JOIN повертає:

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

Чому після customers LEFT JOIN orders для підрахунку замовлень кожного клієнта використовують COUNT(o.id), а не COUNT(*)?

  1. ACOUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
  2. BCOUNT(o.id) рахує лише різних клієнтів
  3. CCOUNT(*) ігнорує рядки зі значеннями NULL
  4. DCOUNT(*) не дозволено після з’єднання
8.Складна

Дано функціональні залежності A → B, B → C і C → D на R(A, B, C, D). Яке замикання A+?

  1. A{A, B, C, D}
  2. B{A}
  3. C{A, B}
  4. D{A, B, C}

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

  1. 1. B · Лише рядки зі збіжними значеннями в обох таблицях
  2. 2. A · Будь-яку послідовність із нуля чи більше символів
  3. 3. C · Об’єднує їх в один результат і видаляє дублікати рядків
  4. 4. C · Скасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
  5. 5. C · NULL
  6. 6. B · Усі рядки з лівої таблиці та відповідні рядки з правої, з NULL там, де відповідності немає
  7. 7. A · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
  8. 8. A · {A, B, C, D}

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