Школьная библиотека создаёт базу данных для учёта книг. Все данные хранятся в одной таблице books со столбцами (полями): id — порядковый номер записи, title — название, category — категория, year — год издания, copies — число экземпляров, price — цена одного экземпляра в тенге. Поле id заполняет система, номера в нём не повторяются. Таблица содержит шесть записей в порядке полей (id, title, category, year, copies, price): (1, Абай жолы, роман, 2012, 5, 3200); (2, Информатика 10, учебник, 2019, 12, 2500); (3, Python для школьников, учебник, 2021, 3, 4100); (4, Физика 9, учебник, 2017, 8, 2300); (5, Сказки степи, сказка, 2019, 8, 1800); (6, История Казахстана, учебник, 2016, 10, 2700). Библиотекарь будет получать данные структурированными запросами на языке SQL. Запрос SELECT выбирает поля, FROM указывает таблицу, WHERE задаёт условие отбора строк, ORDER BY сортирует результат: по умолчанию по возрастанию, а слово DESC означает сортировку по убыванию. Функция SUM(поле) суммирует значения, COUNT(*) считает строки, GROUP BY объединяет в группы строки с одинаковым значением поля. Условия в WHERE можно соединять словом AND: тогда строка должна удовлетворять обоим условиям. Порядок частей запроса такой: SELECT, FROM, WHERE, GROUP BY, ORDER BY. Позже библиотекарь планирует указывать цены с тиынами, например 2450,50, и при этом сравнивать цены и вычислять их суммы.
Какое значение для категории 'учебник' получится во втором столбце результата запроса SELECT category, SUM(copies) FROM books GROUP BY category; ?
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- A33
Разбор
GROUP BY объединяет строки по категории, а SUM(copies) складывает число экземпляров в каждой группе. Для учебников: 12 + 3 + 8 + 10 = 33. Число «46» — сумма по всем книгам, «4» — количество учебников, а «23» получится, если не учесть учебник «История Казахстана».