В этом модуле

Задания для самостоятельной работы

Эти задания помогут закрепить теорию. Выполнять их необязательно, но очень желательно — только практика делает знание настоящим. Задания для самостоятельной работы не проверяются, но вы можете обсуждать их с опытными знакомыми и коллегами, а также в закрытом сообществе в Slack.

Для начала установите IDE для работы с базой данных — сделать это можно по ссылке: https://dbeaver.io.

Теперь подключитесь к учебной базе данных: Базы данных → Новое соединение → PostgreSQL. Если в процессе вам предложат установить драйвер, соглашайтесь.

Введите следующие данные:

  • Хост — rc1b-cgstuyxqibsalbga.mdb.yandexcloud.net
  • Порт — 6432
  • База данных — productsense
  • Пользователь — user
  • Пароль — analytics

Нажмике OK.

Перед вами снова данные по недвижимости — только уже не в Google-таблице и поля называются по-английски. Например, вместо «тип дома (ID)», используется house_type_id. Все нужные вам таблички имеют префикс moscow_aparments. Вы можете использовать следующие таблицы:

  • moscow_apartments
  • moscow_apartments_districts
  • moscow_apartments_house_type
  • moscow_apartments_marketplace

Главная табличка — moscow_apartments, остальные таблицы — словари (справочники).

Вопросы, на которые вам нужно ответить:

  1. Сколько всего записей в табличке moscow_apartments?
  2. Сколько объявлений с квартирами, площадь которых больше 60 квадратов?
  3. Какой самый непопулярный этаж у квартир в объявлениях? Если таких этажей несколько, назовите все.
  4. В каких типах домов средняя стоимость квартиры выше?
  5. У скольких объявлений нет информации о сайте, на котром они выставлены?
  6. Какой наибольший и наименьший размер квартиры в Южном округе?

Напоследок — два сложных вопроса. Чтобы ответить на них, придется самостоятельно прокачаться в SQL и использовать команды, которые мы не проходили на занятиях. Подсказка: посмотрите, что такое case when и как его применить, а тажке что такое подвопросы.

  1. На сколько процентов различается средняя стоимость квартиры у объявлений без информации о сайте и объявлений с информацией о сайте?
  2. Какая площадь у квартиры с наименьшей стоимостью?

Несколько подсказок по всем заданиям:

  • На первые 4 вопроса можно ответить без JOIN.
  • 5 вопрос — на проверку NULL-значений.
  • На 6 вопросе необходимо использовать JOIN, а на 7 — LEFT JOIN.

Объединение таблиц

Если у нас ИТ-продукт, то в нем будут очень простые связи. Например, служба доставка: есть заказ, у заказа есть точно заказчик, курьер, адрес. И все эти таблички обычно находятся в разных местах: отдельная таблица для пользователей, отдельная — для заказов, отдельная — про курьеров, ритейлеров, адреса. Все это разные таблицы, но чтобы получить аналитические данные, их необходимо каким-то образом совмещать. Для этого используется соединение таблиц.

Чтобы объединять таблицы, нужен общий ключ — значение, которое идентично в каждой из соединяемых таблиц. 

Оператор join стоит на третьем месте — например, до оператора where, который фильтрует данные. Примеры применения оператора join:

Seasons