Common table expressions

BigQuery परिचय

Matthew Forrest

Field CTO

CTE क्या है?

-- CTE की शुरुआत WITH कीवर्ड से होती है
WITH our_cte AS (
  SELECT column1, column2
  FROM table
)


/* CTE को कोष्ठकों में रखा जाता है और नीचे की मुख्य क्वेरी में टेबल की तरह इस्तेमाल किया जा सकता है */ SELECT * FROM our_cte
BigQuery परिचय

Subqueries बनाम CTEs

Subquery

SELECT *
FROM (
  SELECT order_id, status
  FROM ecommerce.ecomm_order_status
) AS subquery

CTE

WITH cte_name AS (
  SELECT order_id, status
  FROM ecommerce.ecomm_order_status
)
SELECT *
FROM cte_name
BigQuery परिचय

CTE लिखना

-- सभी CTEs WITH कीवर्ड से शुरू होते हैं
WITH cte_name AS


-- CTE को कोष्ठकों में रखा जाता है (SELECT col_1, col_2 FROM tablename WHERE col_1 > 10 )
-- नया CTE 'cte_name' सिर्फ इसी क्वेरी के स्कोप में उपलब्ध है SELECT * FROM cte_name LIMIT 10
BigQuery परिचय

एक से अधिक CTE का उपयोग

WITH orders AS (
  SELECT order_id, status
  FROM ecommerce.ecomm_order_status
),

-- अतिरिक्त CTEs में WTIH कीवर्ड दोहराया नहीं जाता और वे कॉमा से अलग होते हैं order_details AS ( SELECT orders.*, details.order_items FROM ecommerce.ecomm_orders details ```
BigQuery परिचय

डेटा फ़िल्टर करने के लिए CTEs

WITH filtered_data AS (
  SELECT *
  FROM ecommerce.ecomm_orders
  -- यहाँ, हम अपने CTE में डेटा फ़िल्टर करते हैं
  WHERE order_status = 'delivered'
)
SELECT order_id, order_status
FROM filtered_data
| order_id | order_status |
|----------|--------------|
| 1        | delivered    |
| 2        | delivered    |
BigQuery परिचय

क्वेरी ऑप्टिमाइज़ करने के लिए CTEs

WITH precomputed_data AS (
  SELECT order_id, SUM(payment_value) AS total
  FROM ecommerce.ecomm_payments
  GROUP BY order_id
)
SELECT *
FROM precomputed_data
WHERE total > 1000
| order_id | total   |
|----------|---------|
| 1        | 50000   |
| 2        | 8000    |
BigQuery परिचय

डेटा जोड़ने के लिए CTEs

WITH cte1 AS (
  SELECT order_id, status
  FROM ecommerce.ecomm_order_status
),
cte2 AS (
  SELECT order_id, order_items
  FROM ecommerce.ecomm_orders
)
SELECT *
FROM cte1
JOIN cte2 USING (order_id)
BigQuery परिचय

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

BigQuery परिचय

Preparing Video For Download...