PostgreSQLAdvanced
Subquery — query-র ভেতরে query
scalar, IN, EXISTS — ৩ ধরণের subquery ব্যবহার।
5টি অংশবাংলা ভাষায়
scalar subquerysql
sql
SELECT name, price
FROM products
WHERE price = (SELECT MAX(price) FROM products);IN (...)sql
sql
SELECT name
FROM products
WHERE id IN (
SELECT product_id
FROM order_items
WHERE qty >= 5
);EXISTS — correlatedsql
sql
SELECT u.name
FROM users u
WHERE EXISTS (
SELECT 1 FROM orders o WHERE o.user_id = u.id
);EXISTS— matching halting; একবার মিললেই থামে- correlated subquery — scan প্রতি row-এ চলে; index দরকার
- কিছু subquery-কে
JOIN-এ বদলে readable হয়
EXISTS vs IN
মোটামুটিভাবে কিছুটা same, তবে NULL-safe-এর জন্য EXISTS ভালো; IN-এ NULL surprise আসতে পারে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।