Слайс

Аналитический тренажер

Введение в SQL

бесплатный задач: 10

В данном модуле вы изучите основы SQL от SELECT до простых аггрегаций и join.

Задачи модуля

  • Вводная
    К вам пришел аналитик продукта и попросил быстро посмотреть, какие товары есть в каталоге интернет-магазина.
    Условие
    В таблице products хранятся товары интернет-магазина. Выведите первые 10 товаров из каталога.
    Таблицы для анализа
    • products
    Нужно вывести
    • product_id
    • product_name
    • category_name
    • base_price
    Требования
    • использовать таблицу products
    • вывести только указанные поля
    • вывести первые 10 строк
    • сортировку не применять
  • Вводная
    К вам пришел менеджер и попросил быстро посмотреть, какие активные товары сейчас самые дорогие. Это необходимо для сверки данных с фактическими продажами.
    Условие
    В таблице products хранятся товары интернет-магазина. Оставьте только активные товары и отсортируйте их по базовой цене от самой высокой к самой низкой.
    Таблицы для анализа
    • products
    Нужно вывести
    • product_id
    • product_name
    • category_name
    • base_price
    • is_active
    Требования
    • оставить только строки, где is_active = TRUE
    • отсортировать результат по убыванию base_price
    • вывести первые 10 строк
  • Вводная
    К вам пришел коммерческий директор и попросил посмотреть товары из дорогого ценового сегмента.
    Условие
    В таблице products хранятся товары интернет-магазина. Выведите товары, у которых базовая цена больше 5000.
    Таблицы для анализа
    • products
    Нужно вывести
    • product_id
    • product_name
    • category_name
    • base_price
    Требования
    • оставить только строки, где base_price > 500
    • отсортировать результат по убыванию base_price
  • Вводная
    К вам пришел операционный менеджер с подозрением, что не все статусы у заказов попадают в базу данных.
    Условие
    В таблице orders хранятся заказы интернет-магазина. Выведите все уникальные статусы заказов.
    Таблицы для анализа
    • orders
    Нужно вывести
    • order_status
    Требования
    • использовать таблицу orders
    • вывести уникальные значения order_status
    • в результате не должно быть дублей
    • отсортировать результат по возрастанию order_status
  • Вводная
    К вам пришла команда поддержки и попросила посмотреть заказы, которые еще не были доставлены.
    Условие
    В таблице orders хранятся заказы интернет-магазина. Выведите все заказы, у которых статус не равен delivered.
    Таблицы для анализа
    • orders
    Нужно вывести
    • order_id
    • customer_id
    • order_date
    • order_status
    Требования
    • оставить только строки, где order_status != 'delivered'
    • отсортировать результат по убыванию order_date
  • Вводная
    К вам пришел маркетолог и попросил понять, сколько клиентов относится к каждому клиентскому сегменту.
    Условие
    В таблице customers хранятся данные о клиентах интернет-магазина. Посчитайте количество клиентов в каждом сегменте.
    Таблицы для анализа
    • customers
    Нужно вывести
    • customer_segment customers_count
    Требования
    • сгруппировать данные по customer_segment
    • посчитать количество клиентов в каждом сегменте
    • назвать колонку с количеством customers_count
    • отсортировать результат по убыванию customers_count
  • Вводная
    К вам пришла команда поддержки и попросила посмотреть, сколько заказов находится в каждом статусе.
    Условие
    В таблице orders хранятся заказы интернет-магазина. Посчитайте количество заказов для каждого статуса.
    Таблицы для анализа
    • orders
    Нужно вывести
    • order_status
    • orders_count
    Требования
    • сгруппировать данные по order_status
    • посчитать количество заказов в каждом статусе
    • назвать колонку с количеством orders_count
    • отсортировать результат по убыванию orders_count
  • Вводная
    К вам пришел категорийный менеджер и попросил сравнить категории по средней базовой цене товаров.
    Условие
    В таблице products хранятся товары интернет-магазина. Посчитайте среднюю базовую цену товаров в каждой категории.
    Таблицы для анализа
    • products
    Нужно вывести
    • category_name
    • avg_base_price
    Требования
    • сгруппировать данные по category_name
    • посчитать среднее значение base_price
    • округлить среднюю цену до 2 знаков после запятой
    • назвать колонку со средней ценой avg_base_price
    • отсортировать результат по убыванию avg_base_price
  • Вводная
    К вам пришел бизнес-аналитик и попросил вывести товары не только с категорией, но и с департаментом, к которому эта категория относится.
    Условие
    В таблице products хранятся товары, а в таблице categories — справочник категорий. Соедините эти таблицы и выведите товары вместе с департаментом.
    Таблицы для анализа
    • products
    • categories
    Нужно вывести
    • product_id
    • product_name
    • category_name
    • department
    • base_price
    Требования
    • соединить таблицы products и categories
    • использовать поле category_id для соединения
    • вывести только указанные поля
    • отсортировать результат по возрастанию product_id
  • Вводная
    К вам пришел коммерческий директор и попросил понять, какие товары принесли больше всего денег.
    Условие
    В таблице order_items хранятся товары внутри заказов, а в таблице products — справочник товаров. Посчитайте выручку по каждому товару.
    Выручку считайте как сумму по:
    quantity * unit_price
    Таблицы для анализа
    • order_items
    • products
    Нужно вывести
    • product_id
    • product_name
    • revenue
    Требования
    • соединить таблицы order_items и products
    • использовать поле product_id для соединения
    • посчитать выручку по каждому товару
    • выручку считать как SUM(quantity * unit_price)
    • округлить выручку до 2 знаков после запятой
    • назвать колонку с выручкой revenue
    • сгруппировать результат по товару
    • отсортировать результат по убыванию revenue
    • вывести первые 10 строк
Открыть тренажер