Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PostgreSQL Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Postgres Intro
  • Relational Model
  • Install & Setup
  • Connect psql
  • SELECT basics
  • Data Types
  • Create Table
  • Constraints
  • INSERT / UPDATE / DELETE
  • NULL & COALESCE
  • Schema Design
  • Relationships
  • Joins
  • Joins Advanced
  • Aggregation
  • ORDER / LIMIT
  • String Functions
  • Date Functions
  • Subqueries
  • CTE (WITH)
  • Views
  • Window Functions
  • Transactions
  • Indexes
  • Performance
  • UPSERT
  • JSONB
  • Full-Text Search
  • Triggers
  • Roles & Privileges
  • Backup & Restore
  • Node + PostgreSQL
  • Prisma Intro
  • Prisma Migrations
  • TechShop Schema
  • TechShop Queries
  • TechShop API
  • Best Practices
  • Common Mistakes
  • Interview Questions
  1. Docs
  2. PostgreSQL
  3. Multiple & Self JOIN — জটিল relation
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;
  • প্রতিটি ON clause নিজে নিজে সবচেয়ে সুনির্দিষ্ট কী
  • JOIN-এর ক্রম matter — planner optimize করে, তবু readable রাখুন
  • দুই পাশে index থাকলে join দ্রুত (টপিক ২৪)
যা সবচেয়ে ভুল হয়

JOIN-এ WHERE-এ filter দিলেও join-এর object প্রিসিজয় — WHERE-এ o.status='paid' left-join-কে de-facto inner বানায়। চাইলে condition ON-এ রাখুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরINNER / LEFT JOIN — একাধিক table একসাথেপরেরGROUP BY, HAVING — aggregate functions
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com