Data Modeling ใน Snowflake เบื้องต้น
Nuno Rocha
Director of Engineering











SELECT *
FROM guests
WHERE id IN (SELECT guest_id
FROM loyalty_program
WHERE loyalty_points > 1000);

WITH latest_booking AS (
SELECT guest_id,
MAX(checkout_date) AS latest_checkout
FROM booking_details
GROUP BY guest_id
)
SELECT bd.*,
bd.checkout_date AS latest_booking_date
FROM booking_details bd
JOIN latest_booking lb
ON bd.guest_id = lb.guest_id
AND bd.checkout_date = lb.latest_checkout;
ข้อดี
ข้อเสีย
ข้อดี
ข้อเสีย

WITH .. AS: คำสั่ง SQL สำหรับกำหนด CTELIMIT: clause ของ SQL สำหรับจำกัดจำนวนแถวในผลลัพธ์HAVING: clause ของ SQL สำหรับกรองข้อมูลหลังการรวมกลุ่มด้วยฟังก์ชัน เช่น SUM, MAXWHERE: clause ของ SQL สำหรับกรองแถวก่อนการจัดกลุ่ม เพื่อเพิ่มประสิทธิภาพคิวรีSELECT *
FROM table_name
WHERE column_name IN (SELECT column_name
FROM table_name
WHERE column_name condition value);
WITH latest_booking_dates AS (
SELECT column_name
FROM table_name)
SELECT *
FROM table_name a
JOIN other_table_name b
ON a.key_column = b.key_column;
Data Modeling ใน Snowflake เบื้องต้น