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 retourne le nombre d'éléments d'un groupe.GROUP BY : clause SQL qui regroupe 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 trouve la plus grande valeur 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 celles correspondantes de la table de droite, selon une clé. S'il n'y a pas de correspondance, les lignes de gauche s'affichent quand même avec des valeurs vides pour les attributs de droiteCOUNT : fonction d'agrégation SQL qui retourne le nombre d'éléments d'un groupeMAX : fonction d'agrégation SQL qui trouve la plus grande valeur d'un ensemble pour un attributGROUP BY : clause SQL qui regroupe les 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
-- Fusionner des entités selon leurs clés
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
-- Regrouper les données par colonnes précises
GROUP BY column_name;
Introduction à la modélisation des données dans Snowflake