مثالوں کے ساتھ SQL JOIN کی وضاحت (Inner، Left، Right، Full)

SQL joins explained with examples: inner, left, right, full, cross and self joins
  1. ہوم
  2. بلاگ
  3. ڈیٹابیس اور SQL

ڈیٹابیس اور SQL

مثالوں کے ساتھ SQL JOIN کی وضاحت (Inner، Left، Right، Full)

دو چھوٹے ٹیبلز، واضح کوئریز اور درست نتائج کے ساتھ INNER، LEFT، RIGHT، FULL، CROSS اور SELF JOIN سیکھیں۔

از Stack Quoraاپ ڈیٹ: 29 اکتوبر 2026پڑھنے میں 8 منٹ
SQLSQL JOIN کی وضاحتمثالوں کے ساتھstackquora.com

اہم نکات

  • INNER JOIN: صرف وہ قطاریں جو دونوں ٹیبلز میں ملتی ہیں۔
  • LEFT JOIN: بائیں ٹیبل کی تمام قطاریں اور ملنے والی (نہ ملیں تو NULL)۔
  • RIGHT JOIN: دائیں ٹیبل کی تمام قطاریں اور ملنے والی۔
  • FULL JOIN: دونوں ٹیبلز کی تمام قطاریں، جہاں ممکن ہو ملا کر۔
  • کیز پر join کریں، ٹیبل ایلیاس استعمال کریں اور join کالمز پر انڈیکس بنائیں۔

حقیقی ڈیٹابیس سب کچھ ایک ٹیبل میں نہیں رکھتے۔ گاہک ایک ٹیبل میں ہوتے ہیں اور آرڈرز دوسرے میں۔ “اس مہینے کن گاہکوں نے آرڈر دیا؟” کا جواب دینے کے لیے انہیں ملانا پڑتا ہے، اور یہی کام SQL JOIN کرتے ہیں۔

یہ گائیڈ عملی ہے۔ join نئے سیکھنے والوں کو الجھاتے ہیں کیونکہ وہی دو ٹیبلز join کی قسم کے مطابق مختلف نتائج دیتے ہیں۔ چھوٹے اور ٹھوس ڈیٹا کے ساتھ دیکھنے پر یہ آسان ہو جاتے ہیں۔

SQL JOIN کی وضاحت: نمونہ ٹیبلز

customers

id name
1 Asha
2 Ben
3 Chitra

orders

id customer_id total
101 1 250
102 1 120
103 2 90
104 9 40

Chitra کا کوئی آرڈر نہیں، اور آرڈر 104 ایک ایسے گاہک (9) کی طرف اشارہ کرتا ہے جو موجود ہی نہیں۔ یہ دو انتہائی صورتیں join کی اقسام کا فرق دکھاتی ہیں۔

INNER JOIN

INNER JOIN صرف وہ قطاریں واپس کرتا ہے جن کی شرط دونوں ٹیبلز میں پوری ہو۔ جن کا جوڑا نہ ہو وہ نکل جاتی ہیں۔

SELECT c.name, o.id AS order_id, o.total
FROM customers c
INNER JOIN orders o ON o.customer_id = c.id;

نتیجہ: Asha (101)، Asha (102)، Ben (103)۔ Chitra اور آرڈر 104 غائب ہیں۔ اسے تب استعمال کریں جب صرف متعلقہ ڈیٹا درکار ہو، جیسے گاہک کی تفصیلات کے ساتھ آرڈرز۔ صرف JOIN لکھنے کا مطلب INNER JOIN ہے۔

LEFT JOIN

LEFT JOIN بائیں ٹیبل کی تمام قطاریں رکھتا ہے اور دائیں سے ملنے والی قطاریں جوڑتا ہے۔ جہاں میل نہ ہو وہاں دائیں کالمز NULL ہوتے ہیں۔

SELECT c.name, o.id AS order_id, o.total
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;

نتیجہ: Asha (101)، Asha (102)، Ben (103)، Chitra (NULL, NULL)۔ اب Chitra نظر آتی ہے۔

فوری مشورہ: جن گاہکوں نے کبھی آرڈر نہیں دیا انہیں ڈھونڈنے کے لیے دائیں طرف NULL فلٹر کریں: WHERE o.id IS NULL سے Chitra ملتی ہے۔ ٹیسٹرز اسے یتیم یا غائب ریکارڈز ڈھونڈنے کے لیے استعمال کرتے ہیں۔

RIGHT JOIN اور FULL JOIN

RIGHT JOIN، LEFT JOIN کا عکس ہے اور دائیں ٹیبل کی تمام قطاریں رکھتا ہے۔ زیادہ تر لوگ ٹیبلز کی ترتیب بدل کر LEFT JOIN استعمال کرتے ہیں کیونکہ وہ پڑھنے میں زیادہ فطری ہے۔

SELECT c.name, o.id AS order_id
FROM customers c
RIGHT JOIN orders o ON o.customer_id = c.id;

نتیجے میں آرڈر 104 شامل ہوتا ہے اور گاہک کا نام NULL ہوتا ہے۔ FULL (OUTER) JOIN دونوں ٹیبلز کی تمام قطاریں واپس کرتا ہے: بغیر آرڈر والی Chitra اور بغیر گاہک والا آرڈر 104۔

SELECT c.name, o.id AS order_id
FROM customers c
FULL OUTER JOIN orders o ON o.customer_id = c.id;

PostgreSQL اور SQL Server اسے سپورٹ کرتے ہیں۔ MySQL نہیں کرتا؛ LEFT JOIN اور RIGHT JOIN کو UNION سے ملا لیں۔ مزید جاننے کے لیے PostgreSQL مینول میں ایک واضح join ٹیوٹوریل موجود ہے۔

Join صرف بائیں قطاریں صرف دائیں قطاریں ملنے والی قطاریں
INNER نہیں نہیں ہاں
LEFT ہاں نہیں ہاں
RIGHT نہیں ہاں ہاں
FULL ہاں ہاں ہاں

CROSS JOIN اور SELF JOIN

CROSS JOIN ایک ٹیبل کی ہر قطار کو دوسرے ٹیبل کی ہر قطار سے جوڑتا ہے: تین گاہک اور چار آرڈرز سے بارہ قطاریں بنتی ہیں۔ یہ کم استعمال ہوتا ہے، مگر امتزاج بنانے کے لیے مفید ہے، جیسے ہر سائز اور رنگ کے لیے ٹیسٹ ڈیٹا۔

SELECT c.name, o.id
FROM customers c
CROSS JOIN orders o;

SELF JOIN ایلیاس کی مدد سے ٹیبل کو خود سے جوڑتا ہے، مثلاً ہر ملازم کا مینیجر تلاش کرنے کے لیے۔

SELECT e.name AS employee, m.name AS manager
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.id;

SQL JOIN: عام غلطیاں اور کارکردگی کے مشورے

  • ON شق بھول جانا انجانے میں CROSS JOIN بنا دیتا ہے اور قطاروں کی تعداد پھٹ جاتی ہے۔
  • LEFT JOIN کے بعد WHERE میں دائیں ٹیبل کو فلٹر کرنا اسے INNER JOIN بنا دیتا ہے؛ شرط ON میں رکھیں۔
  • مبہم کالم نام: کالمز کے آگے ٹیبل ایلیاس لگائیں۔
  • غیر منفرد کالمز پر join قطاروں کو کئی گنا کر دیتا ہے اور مجموعے بڑھا دیتا ہے۔
  • join کالمز پر انڈیکس بنائیں، صرف ضروری کالمز منتخب کریں اور سست کوئریز کو EXPLAIN سے جانچیں۔

ٹیسٹرز کے لیے join کیوں اہم ہیں

QA انجینئرز join کے ذریعے جانچتے ہیں کہ UI یا API سے بنایا گیا ڈیٹا ڈیٹابیس میں درست پہنچا یا نہیں، اور یتیم ریکارڈز تلاش کرتے ہیں۔ اسے ہماری Postman کے ساتھ API ٹیسٹنگ گائیڈ (انگریزی) کے ساتھ پڑھیں۔ بنیادی باتوں کے لیے ابتدائی افراد کے لیے SQL ٹیوٹوریل (انگریزی) دیکھیں، اور نئے ڈیٹا اسٹورز کے لیے ویکٹر ڈیٹابیس (انگریزی) پڑھیں۔ ڈیٹابیس مقامی طور پر چلانے کے لیے ہمارا Docker ٹیوٹوریل (انگریزی) دیکھیں۔

آخری بات

ایک سطر میں SQL JOIN: INNER صرف ملنے والے رکھتا ہے، LEFT بائیں کا سب کچھ، RIGHT دائیں کا سب کچھ، اور FULL سب کچھ رکھتا ہے۔ دو چھوٹے ٹیبلز کے ساتھ اس وقت تک مشق کریں جب تک کوئری چلانے سے پہلے نتیجہ بتا نہ سکیں؛ پھر تین ٹیبلز join کریں اور join کو GROUP BY کے ساتھ ملائیں۔

اکثر پوچھے گئے سوالات

INNER JOIN اور LEFT JOIN میں کیا فرق ہے؟

INNER JOIN صرف دونوں ٹیبلز کی ملنے والی قطاریں واپس کرتا ہے۔ LEFT JOIN بائیں ٹیبل کی تمام قطاریں واپس کرتا ہے اور نہ ملنے والے دائیں کالمز کو NULL سے بھر دیتا ہے۔

کون سا SQL JOIN سب سے تیز ہے؟

کوئی بھی قسم ہمیشہ سب سے تیز نہیں ہوتی۔ کارکردگی انڈیکسز، ٹیبل کے سائز اور ایگزیکیوشن پلان پر منحصر ہے۔ join کالمز پر انڈیکس بنائیں اور پلان جانچیں۔

کیا MySQL FULL OUTER JOIN سپورٹ کرتا ہے؟

نہیں۔ MySQL میں وہی نتیجہ پانے کے لیے LEFT JOIN اور RIGHT JOIN کو UNION سے ملائیں۔

SELF JOIN کس کام آتا ہے؟

SELF JOIN ایک ہی ٹیبل کی قطاروں کا موازنہ کرتا ہے، جیسے ایک employees ٹیبل میں ہر ملازم کا مینیجر تلاش کرنا۔

میرا join ڈپلیکیٹ قطاریں کیوں واپس کرتا ہے؟

ڈپلیکیٹ تب بنتے ہیں جب join کالم کسی ایک ٹیبل میں منفرد نہ ہو۔ اپنی کیز چیک کریں یا join سے پہلے ڈیٹا کو ایگریگیٹ کریں۔

مزید سیکھیں (انگریزی مضامین)

Stack Quora کے ساتھ کام کریں

کیا آپ کو ٹیسٹنگ، WordPress یا SEO میں مدد چاہیے؟

ہم ٹیموں کو بہتر سافٹ ویئر جاری کرنے اور ان کی سائٹس کو بڑھانے میں مدد دیتے ہیں۔ ہمیں بتائیں آپ کس پر کام کر رہے ہیں، ہم اگلا قدم تجویز کریں گے۔

پڑھتے رہیں

مزید گائیڈز پر ٹیسٹنگ، AI اور جدید ترقی

اس مضمون کا لطف اٹھایا؟ ایک موضوع چنیں اور سیدھے ہمارے تازہ ترین ٹیوٹوریلز میں جائیں۔