PostgreSQLAdvanced
Multiple & Self JOIN — জটিল relation
৩+ table join ও same table-এর সাথে self join।
4টি অংশবাংলা ভাষায়
three-way joinsql
sql
SELECT u.name,
p.name AS product,
oi.qty,
oi.price
FROM order_items oi
JOIN orders o ON o.id = oi.order_id
JOIN users u ON u.id = o.user_id
JOIN products p ON p.id = oi.product_id
WHERE o.status = 'paid'
ORDER BY o.created_at DESC;self join — colleague relationsql
sql
SELECT e.name AS employee,
m.name AS manager
FROM employees e
JOIN employees m ON m.id = e.manager_id;- প্রতিটি
ONclause নিজে নিজে সবচেয়ে সুনির্দিষ্ট কী - JOIN-এর ক্রম matter — planner optimize করে, তবু readable রাখুন
- দুই পাশে index থাকলে join দ্রুত (টপিক ২৪)
যা সবচেয়ে ভুল হয়
JOIN-এ WHERE-এ filter দিলেও join-এর object প্রিসিজয় — WHERE-এ o.status='paid' left-join-কে de-facto inner বানায়। চাইলে condition ON-এ রাখুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।