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

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

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

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

1.Легка

Що таке первинний ключ (primary key)?

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

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

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

Які рядки обирає WHERE price BETWEEN 10 AND 20?

  1. AРядки з ціною поза діапазоном від 10 до 20
  2. BРядки з ціною понад 10 і менше 20, без 10 і 20
  3. CЛише рядки з ціною, що дорівнює 10 або 20
  4. DРядки з ціною від 10 до 20, включно з 10 і 20
4.Середня

Який запит виводить клієнтів, які ніколи не робили замовлень?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT 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 NULL
5.Середня

Таблиця orders має 5 рядків, кожен з яких посилається на наявного клієнта. Таблиця customers має 3 рядки. Скільки рядків повертає INNER JOIN за customer_id?

  1. A3
  2. B5
  3. C8
  4. D15
6.Середня

Таблиця a має 3 рядки, а таблиця b — 4 рядки. Скільки рядків повертає SELECT * FROM a CROSS JOIN b?

  1. A7
  2. B4
  3. C3
  4. D12
7.Складна

Чого вимагає правило журналювання з випереджальним записом (WAL)?

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

Таблиця b містить у стовпці y значення 1, 2 і NULL. Що повертає SELECT * FROM a WHERE x NOT IN (SELECT y FROM b)?

  1. AУзагалі жодних рядків
  2. BКожен рядок a
  3. CРядки a, де x не дорівнює 1 чи 2
  4. DЛише рядки a, де x дорівнює NULL

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

  1. 1. A · Стовпець або набір стовпців, що однозначно ідентифікує кожен рядок
  2. 2. D · ORDER BY salary DESC
  3. 3. D · Рядки з ціною від 10 до 20, включно з 10 і 20
  4. 4. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. B · 5
  6. 6. D · 12
  7. 7. A · Запис журналу про зміну має потрапити в стабільне сховище раніше, ніж змінена сторінка даних
  8. 8. A · Узагалі жодних рядків

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