ایس کیو ایل آؤٹر جوائن

Ays Kyw Ayl Aw R Jwayn



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

ایس کیو ایل میں مختلف قسم کے جوائنز ہوتے ہیں، جن میں سے ہر ایک کا منفرد طریقہ ہوتا ہے کہ یہ کس طرح حصہ لینے والی میزوں یا نتیجے میں آنے والے سیٹ سے ڈیٹا کو ہینڈل کرتا ہے۔ SQL میں شمولیت کی سب سے عام قسم میں سے ایک OUTER JOIN ہے۔







SQL میں OUTER JOIN شامل میزوں سے تمام مماثل قطاروں کے ساتھ ساتھ ایک یا دونوں جدولوں سے بے مثال قطاروں کو بازیافت کرتا ہے۔ یہ اس وقت کارآمد ہوتا ہے جب آپ ٹیبلز کے ساتھ کام کر رہے ہوتے ہیں جن میں NULL ویلیوز یا گمشدہ سیٹ ہوتے ہیں۔



آئیے مزید دریافت کریں کہ یہ جوائن کیا کرتے ہیں، یہ کیسے کام کرتے ہیں، اور ہم انہیں SQL ڈیٹا بیس میں کیسے استعمال کر سکتے ہیں۔



تقاضے:

اس ٹیوٹوریل کے لیے، ہم MySQL 8.0 کے ساتھ کام کریں گے اور Sakila سیمپل ڈیٹا بیس استعمال کریں گے۔ تاہم، بلا جھجھک کوئی دوسرا ڈیٹاسیٹ استعمال کریں جسے آپ قابل اطلاق سمجھتے ہیں۔





بیرونی جوڑوں کی اقسام

SQL میں OUTER JoINS کی تین اہم اقسام ہیں۔ بیرونی شمولیت کی اس قسم میں شامل ہیں:

  1. بائیں بازو کے جوڑ

  2. لیفٹ آؤٹر جوائنز کی صورت میں، جوائن بائیں ٹیبل سے تمام قطاریں اور دائیں ٹیبل سے صرف مماثل قطاریں حاصل کرتا ہے۔ اگر دائیں ٹیبل سے کوئی مماثل قطاریں نہیں ہیں، تو جوائن دائیں میز پر کالموں کے لیے NULL قدریں لوٹاتا ہے۔



  3. دائیں بیرونی جوائن

  4. یہ رائٹ آؤٹر جوائن کی طرح ہے۔ تاہم، یہ دائیں میز سے تمام قطاروں کو بازیافت کرتا ہے لیکن بائیں میز سے صرف مماثل قطاریں حاصل کرتا ہے۔ اگر بائیں ٹیبل سے کوئی مماثل قطاریں نہیں ہیں، تو جوائن میں بائیں میز پر کالموں کے لیے NULL قدریں شامل ہیں۔

  5. مکمل بیرونی شمولیت

  6. آخر میں، ہمارے پاس مکمل بیرونی جوائنز ہیں۔ اس قسم کا جوڑ دائیں اور بائیں دونوں بیرونی جوڑوں کو جوڑتا ہے۔ نتیجے کے طور پر، جوائن تمام قطاروں کو بازیافت کرتا ہے جب بائیں یا دائیں ٹیبل میں میچ ہوتا ہے۔ اگر کوئی مماثلت نہیں ہے تو، جوائن ٹیبل سے کالموں کے لیے بغیر مماثلت کے NULL اقدار لوٹاتا ہے۔

SQL OUTER Join کا ​​نحو

درج ذیل ایک SQL OUTER JOIN کے نحو کو ظاہر کرتا ہے۔ تاہم یہ ذہن میں رکھنا اچھا ہے کہ ٹارگٹ ڈیٹا بیس انجن کے لحاظ سے نحو تھوڑا سا مختلف ہو سکتا ہے۔

مندرجہ ذیل ایک عام ساخت ہے:

کالم منتخب کریں۔
ٹیبل 1 سے
[بائیں | حق | مکمل] بیرونی جوائن ٹیبل2
ON table1.column_name = table2.column_name;

SQL میں OUTER JOIN کا نحو کافی خود وضاحتی ہے۔

مثالیں:

آئیے ہم کچھ نمونے کے استعمال کو دیکھتے ہیں کہ ہم کس طرح ایس کیو ایل میں مختلف قسم کے OUTER JoINS کو لاگو کر سکتے ہیں۔

جیسا کہ ہم نے ذکر کیا ہے، ہم مظاہرے کے لیے سکیلا کے نمونے کا ڈیٹا بیس استعمال کریں گے۔ اس صورت میں، ہم 'کسٹمر' اور 'ادائیگی' ٹیبل استعمال کرتے ہیں۔

مثال 1: بائیں باہر جوائن

آئیے ایک OUTER Join کے ساتھ شروع کریں۔ فرض کریں کہ اگر دستیاب ہو تو ہم گاہک کی تمام معلومات کے ساتھ ان کی ادائیگی کی معلومات حاصل کرنا چاہتے ہیں۔

یہ بائیں بازو کی شمولیت کو قابل اطلاق بناتا ہے کیونکہ ہم تمام کسٹمر کی معلومات (بائیں طرف) اور ادائیگی کی معلومات اگر دستیاب ہو (دائیں) چاہتے ہیں۔

اگر گاہک نے کوئی ادائیگی نہیں کی ہے، تو شمولیت ادائیگی سے متعلقہ کالموں کے لیے NULL قدریں دکھائے گی۔

ایک مثال درج ذیل ہے:

منتخب کریں۔
c.customer_id،
c.first_name،
c.last_name،
رقم،
p.payment_date
سے
گاہک c
بائیں باہر جوائن ادائیگی p
آن
c.customer_id = p.customer_id;

دی گئی استفسار میں، ہم 'کسٹمر' ٹیبل سے 'کسٹمر_آئی ڈی'، 'پہلا_نام'، اور 'آخری_نام' کالم شامل کرتے ہیں۔ ہم 'ادائیگی' ٹیبل سے رقم اور 'ادائیگی_تاریخ' بھی شامل کرتے ہیں۔

اس کے بعد ہم 'کسٹمر' اور 'ادائیگی' ٹیبلز کے درمیان 'کسٹمر_آئی ڈی' کی بنیاد پر بائیں باہر جوڑتے ہیں۔

یہ تمام گاہک ہیں (خواہ ادائیگی کی گئی ہو یا نہیں) ان کی ادائیگی کی تفصیلات کے ساتھ (اگر کوئی ہے)۔

ایک مثال آؤٹ پٹ مندرجہ ذیل ہے:

مثال 2: دائیں باہر سے شامل ہوں۔

اب، آئیے رائٹ آؤٹر جوائن کی طرف چلتے ہیں۔ فرض کریں کہ ہم اس معاملے میں تمام ادائیگی کی معلومات اور متعلقہ کسٹمر کو شامل کرنا چاہتے ہیں، اگر کوئی ہو۔

اس صورت میں، اگر گاہک کی طرف سے ادائیگی کی جاتی ہے، تو جوائن اس صارف کی تفصیلات ظاہر کرے گا۔ اگر کوئی منسلک گاہک کے ساتھ ادائیگی نہیں ہے، تو یہ کسٹمر سے متعلقہ کالموں کے لیے NULL قدریں دکھائے گی۔

منتخب کریں۔
c.customer_id،
c.first_name،
c.last_name،
رقم،
p.payment_date
سے
گاہک c
دائیں باہر جوائن کی ادائیگی p
آن
c.customer_id = p.customer_id;

نتیجہ سیٹ مندرجہ ذیل ہے:

مثال 3: مکمل بیرونی شمولیت

ایک مکمل بیرونی شمولیت، دوسری طرف، تمام کسٹمر کی معلومات اور ادائیگی کو بازیافت کرتی ہے۔ اس میں تمام گاہک اور تمام ادائیگیاں شامل ہیں اور NULL اقدار کو ظاہر کرتا ہے جہاں میزوں کے درمیان کوئی مماثلت نہیں ہے۔

منتخب کریں۔
c.customer_id،
c.first_name،
c.last_name،
رقم،
p.payment_date
سے
گاہک c
مکمل بیرونی شمولیت کی ادائیگی p
آن
c.customer_id = p.customer_id;

یہ ذہن میں رکھنا اچھا ہے کہ MySQL مقامی طور پر مکمل بیرونی شمولیت کی حمایت نہیں کرتا ہے۔ آپ کو لیفٹ جوائن، یونین اور رائٹ جوائن کے ساتھ کچھ جیوجٹسو جادو کرنا ہوگا۔ کافی پریشان کن، ہم شامل کر سکتے ہیں۔

نتیجہ

اس ٹیوٹوریل میں، ہم نے OUTER JOINS کے بارے میں سب کچھ سیکھا۔ ہم نے سیکھا کہ SQL میں OUTER JOIN کیا ہے، OUTER JOINS کی اقسام، اور اس قسم کی OUTER JOINS کو استعمال کرنے کے طریقے کی مثالیں۔