Найти тему
Computer Pro

Выполнение запросов по чтению данных из БД SQLite3 в задачах

Оглавление

В данной публикации будут приведены несколько примеров выполнения запросов к базе данных основанной на СУБД SQLite3.

Задача 2. Исследование продаж телефонов

Откройте в IDE БД hw_2_database.db. Используя таблицы table_checkout и table_phones, найдите ответы на следующие вопросы:

  1. Телефоны какого цвета чаще всего покупают?
  2. Какие телефоны чаще покупают: красные или синие?
  3. Какой самый непопулярный цвет телефона?

База данных представляет собой две таблицы, в одной находятся описание продаваемых телефонов:

-2

А в другой, статистика продаж этих телефонов:

-3

Если телефонов у нас всего 9 моделей, то статистика продаж - огромная, несколько сотен записей. В данной задаче не требуется получить данные в одном запросе. Поэтому я сделал несколько запросов с сохранением их в переменные.

-4
-5
-6

Задача 3. Анализ таблиц

Есть база данных hw_3_database.db, в которой находятся три таблицы: table_1, table_2 и table_3. Каждая таблица имеет структуру из двух столбцов: id (число) и value (строка).

Выполните запросы, которые дадут ответы на следующие вопросы:

  1. Сколько записей (строк) хранится в каждой таблице?
  2. Сколько в таблице table_1 уникальных записей?
    Назовём уникальной такую запись, которая ранее не встречалась в таблице.
  3. Как много записей из таблицы table_1 встречается в table_2?
  4. Как много записей из таблицы table_1 встречается и в table_2, и в table_3?

База данных представляет собой три таблицы, в которых содержатся однотипные данные, эти данные могут совпадать с данными таблиц 2 и 3. Выглядят так:

-7

Ну и собственно решение с комментариями:

-8
-9

Задача 4. Исследование доходов населения

С помощью работы БД из Python вам нужно выполнить следующие задания:

  1. Выяснить, сколько человек с острова N находятся за чертой бедности, то есть получает меньше 5000 гульденов в год.
  2. Посчитать среднюю зарплату по острову N.
  3. Посчитать медианную зарплату по острову.
  4. Посчитать число социального неравенства F, определяемое как F = T/K, где T — суммарный доход 10% самых обеспеченных жителей острова N, K — суммарный доход остальных 90% людей. Вывести ответ в процентах с точностью до двух знаков после запятой.

Обезличенную БД жителей острова N вы можете найти в файле hw_4_database.db. В таблице salaries находятся уникальные идентификаторы людей и их заработные платы.

Опционально. Для решения задачи 4 используйте только один SQL-запрос.

В БД только одна таблица:

-10

Вот какое получилось решение у данной задачи:

-11
-12
-13

Ну вот, как-то так... Самый последний пункт долго мне мозг выедал, итак, и эдак подставлял "SELECT...FROM" - ошибка.... Но таки победил!

На этом всё!