시작하기무료로 시작하기

공통 테이블 표현식

여러분이 자문하고 있는 회사 Pissa가 프로모션 캠페인을 계획 중이며, 여러분의 전문 지식이 필요합니다.

이 캠페인은 총 주문량을 기준으로 가장 인기 있는 피자를 강조하려고 합니다.

또한 가장 저렴한 피자를 활용한 가치 세트 출시도 검토하고 있습니다.

컨설팅 데이터 엔지니어로서의 여러분의 과제는 이 두 가지 피자를 모두 식별하는 것입니다.

이 연습은 강의의 일부입니다

Snowflake SQL 입문

강의 보기

연습 안내

  • most_ordered라는 CTE를 생성하고 결과를 1로 제한하세요.
  • 또 다른 CTE cheapest_pizza를 생성하고, 최소 가격을 찾는 서브쿼리를 사용해 가장 저렴한 피자만 필터링하세요.
  • most_ordered CTE에서 pizza_idtotal_qty를 선택하고, metric으로 별칭을 지정하세요.
  • cheapest_pizza CTE에서 pizza_idprice를 선택하고, metric으로 별칭을 지정하세요. 열의 순서는 유지하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

-- Create a CTE named most_ordered and limit the results 
___ ___ ___ (
    SELECT pizza_id, SUM(quantity) AS total_qty 
    FROM order_details GROUP BY pizza_id ORDER BY total_qty DESC
    ___
)
-- Create CTE cheapest_pizza where price is equal to min price from pizzas table
, ___ ___ (
    SELECT pizza_id, price
    FROM pizzas 
    WHERE price = (SELECT ___(price) FROM pizzas)
    LIMIT 1
)

SELECT pizza_id, 'Most Ordered' AS Description, total_qty AS metric
-- Select from the most_ordered CTE
FROM ___
UNION ALL
SELECT pizza_id, 'Cheapest' AS Description, price AS metric
-- Select from the cheapest_pizza CTE
FROM ___
코드 편집 및 실행