Introducción al modelado de datos en 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: cláusula SQL que combina todas las filas de la entidad izquierda con las coincidentes de la tabla derecha, basadas ON una claveSELECT
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: función agregada de SQL que devuelve el número de elementos de un grupo.GROUP BY: cláusula SQL para agrupar datos con los mismos valores.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: función agregada de SQL que encuentra el valor más alto en un conjunto de valores de un atributo.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: comando SQL para obtener columnas de una entidadJOIN ON: cláusula SQL que combina filas de entidades basadas ON un atributo relacionadoLEFT JOIN ON: cláusula SQL que combina todas las filas de la entidad izquierda con las coincidentes de la tabla derecha, basadas ON una clave. Si no hay coincidencia, el resultado mostrará igualmente las filas de la izquierda con valores vacíos en los atributos de la derechaCOUNT: función agregada de SQL que devuelve el número de elementos de un grupoMAX: función agregada de SQL que encuentra el valor más alto en un conjunto de valores de un atributoGROUP BY: cláusula SQL para agrupar datos con los mismos valoresSELECT 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;
Introducción al modelado de datos en Snowflake