PostgreSQLAdvanced
CTE — WITH clause-এ নামকरण query
জটিল query টুকরা করে readable — WITH-এর ব্যবহার।
4টি অংশবাংলা ভাষায়
রেভেনিউ যুক্ত CTEsql
sql
WITH user_spend AS (
SELECT u.id, u.name, SUM(o.total) AS total_spent
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.name
)
SELECT name, COALESCE(total_spent, 0) AS spent
FROM user_spend
ORDER BY spent DESC
LIMIT 5;একাধিক CTEsql
sql
WITH stats AS (
SELECT product_id, SUM(qty) AS sold
FROM order_items
GROUP BY product_id
),
top AS (
SELECT product_id FROM stats ORDER BY sold DESC LIMIT 3
)
SELECT p.name FROM products p
JOIN top t ON t.product_id = p.id;CTE-র ২টি উপকার — (১) query-এর readable বিভাজন, (২) recursion। তবে CTE-কে material ভাববেন না — planner নিজেই ইনলাইন করতে পারে।
readability first
বড় query-র section-গুলো CTE-তে রাখলে debugging (প্রতি অংশ আলাদা চালানো) অনেক সহজ।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।