Advanced Common Table Expressions

Snowflake में डेटा मैनिपुलेशन

Jake Roach

Field Data Engineer

एकाधिक Common Table Expressions परिभाषित करना

एक ही WITH क्लॉज़ से एक से अधिक common table expressions परिभाषित किए जा सकते हैं

$$

  • कितनी भी CTEs परिभाषित कर सकते हैं
  • CTEs को आपस में JOIN कर सकते हैं
  • CTE में जटिल ऑपरेशंस भी कर सकते हैं
  • एक CTE के परिणाम दूसरी CTE में भी इस्तेमाल कर सकते हैं
WITH <cte-name> AS (

    <query>

), <another-cte-name> (

    -- Add another query!
    <another-query>
)

-- These CTE's could be JOIN'd 
SELECT ... ;
Snowflake में डेटा मैनिपुलेशन

सर्वश्रेष्ठ प्रदर्शन करने वाले कोर्सेज

WITH active_courses AS (
    SELECT
        id,
        course_name,
        teacher_name
    FROM courses
    WHERE is_active

), course_avgs ( SELECT course_id, AVG(grade) AS avg_grade FROM student_courses GROUP BY course_id )

SELECT
    a.course_name,
    a.teacher_name,
    c.avg_grade
FROM active_courses AS a

-- JOIN these CTEs together
JOIN course_avgs AS c
    ON a.id = c.course_id

ORDER BY avg_grade DESC;

क्वेरी समझना आसान हो जाता है!

Snowflake में डेटा मैनिपुलेशन

सर्वश्रेष्ठ प्रदर्शन करने वाले कोर्सेज

प्रत्येक कोर्स के औसत स्कोर और शिक्षक नाम के अंतिम आउटपुट के लिए मिलते अस्थायी रिजल्ट सेट

Snowflake में डेटा मैनिपुलेशन

टेन्योर वाले शिक्षक

WITH active_courses AS (
    SELECT
        id,
        course_name,
        teacher_name,
        teacher_tenure
    FROM courses

    -- JOIN the teachers table to the courses 
    -- table to get teacher_tenure
    JOIN teachers 
        ON courses.teacher_id = teachers.id

    WHERE is_active
), 
...
...
), course_avgs (
    SELECT
        course_id,
        AVG(grade) AS avg_grade
    FROM student_courses
    GROUP BY course_id
)

SELECT a.teacher_name, a.teacher_tenure MAX(c.avg_grade) AS highest_grade FROM active_courses AS a JOIN course_avgs AS c ON a.id = c.course_id GROUP BY a.teacher_name, a.teacher_tenure;
Snowflake में डेटा मैनिपुलेशन

टेन्योर वाले शिक्षक

शिक्षक के टेन्योर और उनके उच्चतम कोर्स औसत खोजने वाली क्वेरी का रिजल्ट सेट

Snowflake में डेटा मैनिपुलेशन

अभ्यास करते हैं!

Snowflake में डेटा मैनिपुलेशन

Preparing Video For Download...