Подведём итоги!

Манипуляция данными в Snowflake

Jake Roach

Field Data Engineer

Манипулирование данными в Snowflake

$$

      CASE Statements

                Манипулирование и преобразование данных по условию.

      Subqueries

                 Использование результатов одного запроса в другом.

      Common Table Expressions

                Определение временного результирующего набора для основного запроса.

Манипуляция данными в 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...