Pengantar Pemodelan Data di 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: Klausa SQL yang menggabungkan semua baris dari entitas kiri dengan baris yang cocok dari tabel kanan, berdasarkan kunci di ONSELECT
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: Fungsi agregat SQL yang mengembalikan jumlah item dalam suatu grup.GROUP BY: Klausa SQL untuk mengagregasi data dengan nilai yang sama.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: Fungsi agregat SQL yang mencari nilai tertinggi dalam sekumpulan nilai untuk suatu atribut.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: Perintah SQL untuk mengambil kolom dari suatu entitasJOIN ON: Klausa SQL yang menggabungkan baris dari entitas berdasarkan atribut terkaitLEFT JOIN ON: Klausa SQL yang menggabungkan semua baris dari entitas kiri dengan baris yang cocok dari tabel kanan, berdasarkan kunci di ON. Jika tidak ada kecocokan, hasil tetap menampilkan baris entitas kiri dengan nilai kosong untuk atribut kananCOUNT: Fungsi agregat SQL yang mengembalikan jumlah item dalam grupMAX: Fungsi agregat SQL yang mencari nilai tertinggi dalam sekumpulan nilai untuk suatu atributGROUP BY: Klausa SQL untuk mengagregasi data dengan nilai yang samaSELECT 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;
Pengantar Pemodelan Data di Snowflake