ایس کیو ایل میں دو میزیں ضم کریں۔

Ays Kyw Ayl My Dw Myzy Dm Kry



ایس کیو ایل میں، ٹیبل ضم کرنے سے مراد ایک مشترکہ کالم یا معیار کی بنیاد پر دیے گئے ڈیٹا بیس میں دو الگ الگ جدولوں سے ڈیٹا کو ایک اکائی میں یکجا کرنے کا عمل ہے۔ جی ہاں، اگر یہ میز کی طرح لگتا ہے، تو یہ بالکل وہی ہے.

ایک ٹیبل جوائن یا ٹیبل انضمام رشتہ دار ڈیٹا بیس کی ایک مشہور خصوصیت ہے، اور یہ ناقابل یقین حد تک طاقتور ہے۔ یہ ہمیں مزید مربوط اور بامعنی ڈیٹا بصیرت پیدا کرنے کے لیے متعدد ذرائع سے معلومات کو یکجا کرنے کی اجازت دیتا ہے۔ یہ متعلقہ ڈیٹا بیس کو انتہائی قابل توسیع (لچکدار نہیں) ہونے کی بھی اجازت دیتا ہے کیونکہ ہم ڈیٹا کو چھوٹے، قابل انتظام حصوں میں توڑ سکتے ہیں جن کا ہم بعد میں حوالہ دے سکتے ہیں۔

اس ٹیوٹوریل میں، ہم ٹیبل جوائن یا ٹیبل کے انضمام کے بنیادی اصولوں کا احاطہ کریں گے۔ آئیے اپنے علم کو مستحکم کرنے کے لیے حقیقی دنیا کے جدول کے نمونے دیکھیں۔







نمونہ ٹیبل

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



دو جدولوں پر غور کریں جن میں ملازمین اور تنخواہ کی معلومات شامل ہیں جیسا کہ درج ذیل مثال کے سوالات میں دکھایا گیا ہے۔



ٹیبل ملازمین بنائیں (

ملازم_ID INT AUTO_INCREMENT بنیادی کلید،

پہلا نام VARCHAR( پچاس )

آخری_نام VARCHAR( پچاس )

ڈیپارٹمنٹ ورچار( پچاس )

);

اس کے بعد ہم نمونہ ڈیٹا کو ملازم کے ٹیبل میں داخل کر سکتے ہیں جیسا کہ درج ذیل سوالات میں دکھایا گیا ہے:





ملازمین میں داخل کریں (first_name, last_name, Department) VALUES

( 'ایلس' ، 'سمتھ' ، 'انسانی وسائل' )

( 'باب' ، 'جانسن' ، 'مارکیٹنگ' )

( 'چارلی' ، 'ولسن' ، 'مالیات' )

( 'ڈیوڈ' ، 'براؤن' ، 'فروخت' )

( 'ایوا' ، 'ڈیوس' ، 'انجینئرنگ' );

آئیے آگے بڑھیں اور تنخواہ کی معلومات کو مندرجہ ذیل ذخیرہ کرنے کے لیے ایک نیا ٹیبل بنائیں:

ٹیبل تنخواہ بنائیں (

salary_id INT AUTO_INCREMENT PRIMARY KEY،

employee_id INT،

تنخواہ ڈیسیمل( 10 ، 2 )

start_date DATE،

اختتام_تاریخ DATE،

FOREIGN KY (employee_id) حوالہ جات ملازمین (employee_id)

);

درج ذیل ٹیبل میں نمونہ ڈیٹا داخل کریں:



تنخواہوں میں داخل کریں (ملازم_آئی ڈی، تنخواہ، آغاز_تاریخ، اختتام_تاریخ) VALUES
( 1 ، 60000.00 ، '2023-01-01' ، '31-12-2023' )
( 2 ، 55000.00 ، '2023-01-01' ، '31-12-2023' )
( 3 ، 65000.00 ، '2023-01-01' ، '31-12-2023' )
( 4 ، 58000.00 ، '2023-01-01' ، '31-12-2023' )
( 5 ، 70000.00 ، '2023-01-01' ، '31-12-2023' );

یہ ہمیں دو ٹیبل فراہم کرے گا جو ہمیں ایس کیو ایل میں ٹیبل کے جوائن/ضم ہونے کے تصور کو ظاہر کرنے میں مدد دے سکتا ہے۔

ایس کیو ایل ٹیبل ضم/ٹیبل جوائن کرتا ہے۔

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

اندرونی شرکت

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

آئیے ہم 'ملازمین' اور 'تنخواہوں' کی میزیں لیں جو ہم نے پہلے مثال کے طور پر بنائی تھیں۔ ایس کیو ایل میں اندرونی شمولیت کو انجام دینے کے لیے، ہم INNER JOIN شق کو مندرجہ ذیل استعمال کرتے ہیں:

منتخب کریں۔

e.employee_id،

e.first_name،

e.last_name،

e.محکمہ،

تنخواہ

سے

ملازمین ای

اندرونی شمولیت کی تنخواہیں آن

e.employee_id = s.employee_id;

دی گئی مثال کے استفسار میں، ہم 'ملازمین' اور 'تنخواہوں' کے جدولوں کو 'employee_id' کالم پر ضم کرنے کے لیے ایک INNER JOIN استعمال کرتے ہیں جو دونوں جدولوں میں موجود ہے۔ نتیجے کے سیٹ میں دونوں میزوں سے صرف مماثل قطاریں ہوتی ہیں۔

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

بائیں باہر شمولیت

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

منتخب کریں۔

e.employee_id،

e.first_name،

e.last_name،

e.محکمہ،

تنخواہ

سے

ملازمین ای

لیفٹ جوائن تنخواہیں

آن

e.employee_id = s.employee_id;

اس مثال میں، ہم 'ملازمین' اور 'تنخواہوں' کے جدولوں کو ضم کرنے کے لیے بائیں بازو کی شمولیت کرتے ہیں۔ 'ملازمین' کی میز کی تمام قطاریں شامل ہیں اور 'تنخواہوں' کی میز سے مماثل قطاریں شامل کی گئی ہیں۔ تاہم، غیر مماثل قطاروں کے لیے NULL قدریں 'تنخواہ' کالم میں شامل ہیں۔

ایس کیو ایل یونین

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

یونین کے لاگو ہونے کے لیے ہر SELECT اسٹیٹمنٹ کے کالموں میں ڈیٹا کی ایک ہی قسم ہونی چاہیے۔

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

ملازم_آئی ڈی، پہلا_نام، آخری_نام، محکمہ، NULL بطور تنخواہ منتخب کریں

ملازمین سے ای

یونین

ملازم_آئی ڈی کو منتخب کریں , نام کے طور پر پہلے نام کے طور پر , آخری_نام کے طور پر NULL ، محکمہ کے طور پر NULL ، تنخواہ

تنخواہوں سے ;

اس صورت میں، ایک یونین 'ملازمین' اور 'تنخواہوں' کے جدولوں کو ملا دیتی ہے۔ اس کے بعد ہم ہر SELECT سٹیٹمنٹ میں NULL کالم بناتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ دونوں ٹیبلز میں کالمز کی تعداد یکساں ہے۔

UNIONS تکنیکی طور پر عام ہیں لیکن وہ کارآمد ثابت ہو سکتے ہیں خاص طور پر جب آپ کو مختلف ڈھانچوں کے ساتھ میزوں کو ضم کرنے کی ضرورت ہو۔

نتیجہ

اس ٹیوٹوریل میں، ہم نے ایک نتیجہ کے سیٹ میں دو جدولوں کو جوڑنے/ضم کرنے کے بنیادی اصولوں کو دریافت کیا۔ یہ ذہن میں رکھنا اچھا ہے کہ اس پوسٹ میں بہت زیادہ ایڈوانس جوائنز زیر بحث آئے ہیں۔