정리합니다!

Snowflake에서 데이터 조작

Jake Roach

Field Data Engineer

Snowflake에서의 데이터 조작

$$

      CASE 문

                조건에 따라 데이터를 조작·변환합니다.

      서브쿼리

                한 쿼리의 결과를 다른 쿼리에서 활용합니다.

      공통 테이블 식

                메인 쿼리에서 쓸 임시 결과 집합을 정의합니다.

Snowflake에서 데이터 조작

조건부 로직

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;

조건부 로직은 집계 함수 등과 함께 사용할 수 있습니다.

Snowflake에서 데이터 조작

서브쿼리

서브쿼리로 데이터를 더 읽기 쉽고 모듈식으로 조작하는 논리적 흐름

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;
Snowflake에서 데이터 조작

공통 테이블 식

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)은 쿼리 결과를 일시 저장해 다른 쿼리에서 사용합니다

$$

  • 쿼리를 더 읽기 쉽고 모듈식으로 구성
  • 여러 CTE 정의 및 사용
Snowflake에서 데이터 조작

연습해 봅시다!

Snowflake에서 데이터 조작

Preparing Video For Download...