Недавно мы предложили вам посмотреть поближе на какую-нибудь задачку из нашего нового курса по SQL, и вы выбрали модуль про соединение таблиц.
Для решения вам понадобится ER-диаграмма нашей БД — она на картинке к посту. ☝🏻 Курс оформлен как стажировка в онлайн-магазине True Coffee, поэтому и данные у нас соответствующие — товары, фасовки и разные бренды чая и кофе.
А еще мы приведем пару выдержек из теоретической части, чтобы вы могли оценить подачу материала.
🔵 Особенность нашей базы состоит в том, что все связи имеют тип один-ко-многим с обязательной связью. Также стоит отметить тот факт, что в каждой таблице в качестве первичного ключа используется суррогатный ключ, то есть просто возрастающий номер id.
🔵 Одним из наиболее распространенных операторов соединения является INNER JOIN. С помощью INNER JOIN происходит объединение записей из двух таблиц по какому-то условию, обычно по связующему полю. В результирующую выборку попадают только те записи, которые удовлетворяют условию.
🔵 В запросе оператор INNER JOIN ставится после оператора FROM, при этом необходимо указать еще и условие соединения таблиц после указателя ON.
А вот и сама задача:
Отдел доставки хочет, чтобы мы узнали среднюю стоимость доставки всех вариантов фасовки товара под номером 3. Результат округлите до целого при помощи функции ROUND.
Выведите вариант фасовки и округленную среднюю цену. Поля назовите variant_name и avg_delivery_price соответственно.
Для этого используйте таблицы orders и purchases. Не забудьте отфильтровать данные по номеру товара (поле product_id из таблицы purchases), а также сгруппировать по типу фасовки (поле variant_name из таблицы purchases).
Пишите решения в комментариях!
А если понравилась задача, то записывайтесь на «SQL Базу». Там таких заданий еще очень много, и к тому до конца месяца курс можно купить за 931 рубль вместо 1330 по промокоду
СЕНТЯБРЬ30.
