НачатьНачать бесплатно

Ранняя фильтрация

Компания Pissa обратилась к вам за помощью в оптимизации запросов к базе данных. По их наблюдениям, существующие запросы недостаточно эффективны и выполняются слишком долго.

Цель — получить заказы, сделанные после 1 ноября 2015 года, и только пиццы из категории «Veggie».

Дополните приведённый SQL-запрос, применив методы ранней фильтрации.

Это упражнение является частью курса

Введение в Snowflake SQL

Посмотреть курс

Инструкции к упражнению

  • Дополните CTE filtered_orders, добавив фильтрацию: включайте только заказы, сделанные после 2015-11-01.
  • Дополните CTE filtered_pizza_type, добавив фильтрацию: включайте только пиццы из категории 'Veggie'.
  • Извлеките записи из CTE filtered_orders.
  • Присоедините CTE filtered_pizza_type по столбцу pizza_type_id, используя предложение ON.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

WITH filtered_orders AS (
  SELECT order_id, order_date 
  FROM orders 
  -- Filter records where order_date is greater than November 1, 2015
  ___
)

, filtered_pizza_type AS (
  SELECT name, pizza_type_id 
  FROM pizza_type 
  -- Filter the pizzas which are in the Veggie category
  ___
)

SELECT fo.order_id, fo.order_date, fpt.name, od.quantity
-- Get the details from filtered_orders CTE
FROM ___ AS fo
JOIN order_details AS od ON fo.order_id = od.order_id
JOIN pizzas AS p ON od.pizza_id = p.pizza_id
-- JOIN the filtered_pizza_type CTE on pizza_type_id
___ ___ AS fpt ON p.pizza_type_id = ___.___
Редактировать и запускать код