Introduction à la modélisation des données dans Snowflake
Nuno Rocha
Director of Engineering








SELECT
hs.student_key,
ss.student_name
FROM hub_students AS hs
JOIN sat_student AS ss ON hs.student_key = ss.student_key;
LEFT JOIN ON : clause SQL qui combine toutes les lignes de l'entité de gauche avec les lignes correspondantes de la table de droite, selon la clé indiquée après ON.SELECT
hs.student_key,
ss.student_name
FROM hub_students AS hs
JOIN sat_student AS ss ON hs.student_key = ss.student_key
LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
COUNT : fonction d'agrégation SQL qui renvoie le nombre d'éléments d'un groupe.GROUP BY : clause SQL pour regrouper les données ayant les mêmes valeurs.SELECT
hs.student_key,
ss.student_name,
COUNT(le.class_key) AS NumberOfEnrollments
FROM hub_students AS hs
JOIN sat_student AS ss ON hs.student_key = ss.student_key
LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
GROUP BY hs.student_key,
ss.student_name
MAX : fonction d'agrégation SQL qui renvoie la valeur la plus élevée d'un ensemble pour un attribut.SELECT
hs.student_key,
ss.student_name,
COUNT(le.class_key) AS NumberOfEnrollments
MAX(sc.load_date) AS MostRecentEnrollmentDate
FROM hub_students hs
JOIN sat_student ss ON hs.student_key = ss.student_key
LEFT JOIN link_enrollment le ON hs.student_key = le.student_key
LEFT JOIN sat_class sc ON le.class_key = sc.class_key
GROUP BY hs.student_key,
ss.student_name;
SELECT FROM : commande SQL pour extraire des colonnes d'une entitéJOIN ON : clause SQL qui combine des lignes d'entités selon un attribut liéLEFT JOIN ON : clause SQL qui combine toutes les lignes de l'entité de gauche avec les lignes correspondantes de la table de droite, selon une clé. Sans correspondance, les lignes de gauche restent avec des valeurs vides pour les attributs de droiteCOUNT : fonction d'agrégation SQL qui renvoie le nombre d'éléments d'un groupeMAX : fonction d'agrégation SQL qui renvoie la valeur la plus élevée d'un ensemble pour un attributGROUP BY : clause SQL pour regrouper des données ayant les mêmes valeursSELECT column_name,
COUNT(another_column) AS alias_name,
MAX(other_column) AS alias_name
FROM table_name table_alias
-- Merge entities based on their keys
JOIN other_table AS other_alias
ON table_alias.FK = other_alias.PK
LEFT JOIN another_table AS another_alias
ON table_alias.FK = other_alias.PK
-- Aggregate data by specific columns
GROUP BY column_name;
Introduction à la modélisation des données dans Snowflake