Snowflake에서 데이터 조작
Jake Roach
Field Data Engineer
$$
조건에 따라 데이터를 조작·변환합니다.
한 쿼리의 결과를 다른 쿼리에서 활용합니다.
메인 쿼리에서 쓸 임시 결과 집합을 정의합니다.
SELECT
todays_date,
temperature,
status,
CASE
WHEN temperature > 70 AND status NOT IN ('Rain', 'Wind') THEN 'Beach'
WHEN temperature BETWEEN 45 AND 70 AND status = 'Sun' THEN 'Sports'
WHEN temperature <= 32 OR status = 'Snow' THEN 'Skiing'
ELSE 'Stay In'
END AS activity
FROM weather;
조건부 로직은 집계 함수 등과 함께 사용할 수 있습니다.

SELECT
month_num,
AVG(differential) AS avg_differential
MIN(differential) AS most_differential
FROM (
SELECT
month_num,
windchill - temperature AS differential
FROM weather
WHERE
season = 'Winter' AND
temperature < 32
)
GROUP BY month_num;
WITH at_risk AS (
SELECT
student_id
course_name,
teacher_name,
grade
FROM student_courses
WHERE grade < 70 AND is_required
)
SELECT
students.student_name,
at_risk.*
FROM at_risk
JOIN students ON at_risk.student_id = students.id;
공통 테이블 식(CTE)은 쿼리 결과를 일시 저장해 다른 쿼리에서 사용합니다
$$
Snowflake에서 데이터 조작