Безкоштовний робочий аркуш для друку «Бази даних і SQL»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.
Для викладачів: можна безкоштовно друкувати, копіювати й використовувати на заняттях. Кожен новий аркуш має нові значення і власні відповіді. Будемо вдячні за посилання на ExamProblems на сторінці вашого курсу.
Ім’я: ____________________ Дата: ____________
1.Легка
INNER JOIN повертає:
AУсі рядки з лівої таблиці, з NULL там, де збігу немає
BЛише рядки зі збіжними значеннями в обох таблицях
CРядки, що не збігаються
DУсі рядки з обох таблиць
2.Легка
Що означає символ-замінник % у шаблоні LIKE?
AБудь-яку послідовність із нуля чи більше символів
BРівно один символ у цій позиції рядка
CКінець рядка
DБудь-яку одну цифру
3.Легка
Що робить UNION з результатами двох запитів SELECT?
AЗалишає лише рядки, які є в першому запиті, але не в другому
BЗ’єднує їх поруч за ключем
CОб’єднує їх в один результат і видаляє дублікати рядків
DЗалишає лише рядки, що є в обох
4.Середня
Що робить ROLLBACK TO SAVEPOINT s1?
AСкасовує всю транзакцію від початку
BЗавершує транзакцію і фіксує все
CСкасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
DВидаляє точку збереження й усі таблиці, змінені відтоді
5.Середня
Що повертає SELECT SUM(amount) FROM orders, коли речення WHERE не відповідає жодному рядку?
A0
BПомилку
CNULL
DПорожній рядок
6.Середня
LEFT JOIN повертає:
AЛише відповідні рядки з обох таблиць
BУсі рядки з лівої таблиці та відповідні рядки з правої, з NULL там, де відповідності немає
CРядки, які не мають відповідності в жодній таблиці
DЛише всі рядки з правої таблиці
7.Складна
Чому після customers LEFT JOIN orders для підрахунку замовлень кожного клієнта використовують COUNT(o.id), а не COUNT(*)?
ACOUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
BCOUNT(o.id) рахує лише різних клієнтів
CCOUNT(*) ігнорує рядки зі значеннями NULL
DCOUNT(*) не дозволено після з’єднання
8.Складна
Дано функціональні залежності A → B, B → C і C → D на R(A, B, C, D). Яке замикання A+?
A{A, B, C, D}
B{A}
C{A, B}
D{A, B, C}
Ключ відповідей
1. B · Лише рядки зі збіжними значеннями в обох таблицях
2. A · Будь-яку послідовність із нуля чи більше символів
3. C · Об’єднує їх в один результат і видаляє дублікати рядків
4. C · Скасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
5. C · NULL
6. B · Усі рядки з лівої таблиці та відповідні рядки з правої, з NULL там, де відповідності немає
7. A · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
8. A · {A, B, C, D}
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.