Conclusion

Manipulation de données dans Snowflake

Jake Roach

Field Data Engineer

Manipulation des données dans Snowflake

$$

      Instructions CASE

                Manipuler et transformer des données selon des conditions.

      Sous-requêtes

                 Réutiliser le résultat d'une requête dans une autre.

      Common Table Expressions

                Définir un jeu de résultats temporaire pour la requête principale.

Manipulation de données dans Snowflake

Logique conditionnelle

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;

La logique conditionnelle peut être combinée à des fonctions d'agrégation.

Manipulation de données dans Snowflake

Sous-requêtes

Processus logique pour manipuler les données de façon plus lisible et modulaire avec des sous-requêtes

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;
Manipulation de données dans Snowflake

Common Table Expressions

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;

Les Common Table Expressions (CTE) stockent temporairement le résultat d'une requête pour être réutilisé par une autre

$$

  • Structurer les requêtes pour plus de lisibilité et de modularité
  • Définir et utiliser plusieurs CTE
Manipulation de données dans Snowflake

Passons à la pratique !

Manipulation de données dans Snowflake

Preparing Video For Download...