Einführung in das Data Modeling in 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: SQL-Klausel, die alle Zeilen der linken Entität mit passenden Zeilen der rechten Tabelle kombiniert, basierend ON einem SchlüsselSELECT
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: SQL-Aggregatfunktion, die die Anzahl der Elemente in einer Gruppe liefert.GROUP BY: SQL-Klausel, um Daten mit gleichen Werten zu aggregieren.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: SQL-Aggregatfunktion, die den höchsten Wert eines Attributs findet.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: SQL-Befehl zum Abrufen von Spalten aus einer EntitätJOIN ON: SQL-Klausel zum Kombinieren von Zeilen aus Entitäten basierend ON einem verwandten AttributLEFT JOIN ON: SQL-Klausel, die alle Zeilen der linken Entität mit passenden Zeilen der rechten Tabelle kombiniert, basierend ON einem Schlüssel. Gibt es keine Übereinstimmung, erscheinen die linken Zeilen mit leeren rechten AttributenCOUNT: SQL-Aggregatfunktion, die die Anzahl der Elemente in einer Gruppe liefertMAX: SQL-Aggregatfunktion, die den höchsten Attributwert in einer Menge findetGROUP BY: SQL-Klausel, um Daten mit gleichen Werten zu aggregierenSELECT column_name,
COUNT(another_column) AS alias_name,
MAX(other_column) AS alias_name
FROM table_name table_alias
-- Entitäten anhand ihrer Schlüssel zusammenführen
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
-- Daten nach bestimmten Spalten aggregieren
GROUP BY column_name;
Einführung in das Data Modeling in Snowflake