پوسٹگری ایس کیو ایل شق میں

Pws Gry Ays Kyw Ayl Shq My



بہت ساری شقیں ہیں جنہیں آپ PostgreSQL میں استعمال کر سکتے ہیں۔ IN شق ان شقوں میں سے ایک ہے، اور اس کے کافی فوائد ہیں جب آپ سمجھتے ہیں کہ اسے کس طرح استعمال کرنا ہے خاص طور پر جب WHERE شق کے ساتھ ملایا جائے۔ IN شق بنیادی طور پر SELECT سٹیٹمنٹ کے ساتھ کام کرتی ہے تاکہ فلٹر کیا جا سکے کہ آپ استفسار کو کیسے انجام دینا چاہتے ہیں۔ جب عمل کیا جاتا ہے تو، IN شق مخصوص فہرست کو چیک کرتا ہے تاکہ یہ معلوم ہو کہ آیا یہ معیار سے میل کھاتا ہے اور مماثل اقدار کو آؤٹ پٹ کرتا ہے۔

شق میں PostgreSQL کے ساتھ کام کرنے کا طریقہ سمجھنا

PostgreSQL میں، آپ WHERE شق کے ساتھ IN شق کا استعمال کرتے ہیں تاکہ اقدار کی فہرست کے خلاف چیک کرکے آؤٹ پٹ کو فلٹر کیا جا سکے، اور نتیجہ بولین ویلیو ہے۔

یہاں استعمال کرنے کے لیے نحو ہے:







قدر IN (value1, value2, value_n)؛

دیا گیا نحو قدر لیتا ہے اور اسے value1، value2 اور value_n کے خلاف چیک کرتا ہے۔ اگر کوئی میچ ہو تو یہ بولین لوٹاتا ہے۔ اقدار کی فہرست جس کے خلاف جانچنا ہے وہ کسی بھی لغوی قسم کی ہو سکتی ہے بشمول تار اور عدد۔ اس کے علاوہ، آپ ایک ذیلی استفسار بنا سکتے ہیں جیسے کہ SELECT بیان۔



آئیے PostgreSQL IN آپریٹر کو استعمال کرنے کے مختلف طریقوں پر بات کرتے ہیں۔



1. ذیلی سوال کے ساتھ کام کرنا

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





فرض کریں کہ ہم ان تمام صارفین کو چیک کرنا چاہتے ہیں جن کی 'order_id' ان اقدار میں سے کوئی بھی ہو سکتی ہے جو استفسار کے سیکشن میں بیان کی گئی ہیں۔ ہم اپنے بیان کے پہلے حصے کے طور پر ہدف کی قدر کو شامل کرتے ہیں اور پھر استفسار بنانے کے لیے IN شق کے ساتھ WHERE شق کا استعمال کرتے ہیں۔



ہمارا استفسار اس طرح ظاہر ہوتا ہے:

PostgreSQL 'کسٹمرز' ٹیبل میں 'order_id' کالم کو چیک کرتا ہے اور وہ تمام ریکارڈز واپس کرتا ہے جن کا 'order_id' کسی ایک سے ملتا ہے جسے ہم نے بریکٹ میں بیان کیا ہے۔

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

2. IN (SELECT) کے ساتھ کام کرنا

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

ہم کہتے ہیں کہ ہم صرف 'آرڈرز' ٹیبل سے ریکارڈز ڈسپلے کرنا چاہتے ہیں اگر ٹارگٹ ویلیو (order_id) 'کسٹمرز' ٹیبل میں ہو۔ یہاں، 'customers.order_id' کالم ہماری اقدار کی فہرست ہے اور ہم اس کی اقدار کو 'orders.order_id' کالم پر چیک کرتے ہیں۔

اس معاملے کے لیے، صرف تین اندراجات تلاش سے مماثل ہیں اور یہ وہی ہے جو ہمیں اپنے IN(SELECT) PostgreSQL شق کے آؤٹ پٹ کے طور پر ملتا ہے۔

3. NOT IN PostgreSQL کلاز کے ساتھ کام کرنا

پچھلی کمانڈ کا استعمال کرتے ہوئے، ہم دیگر اقدار کو ظاہر کرنے کا انتخاب کر سکتے ہیں جو ہدف کی قدر سے مماثل نہیں ہیں۔ اس کے لیے، ہم IN شق کے برعکس کرتے ہیں۔ لہذا، ہم اندر نہ ہونے کے حکم کی نفی کرتے ہیں۔

یہ ہے کہ ہم اپنی نئی کمانڈ کیسے لکھتے ہیں:

دھیان دیں کہ ہمیں مثال 2 سے مختلف آؤٹ پٹ ملتا ہے۔ اس کی وجہ یہ ہے کہ ہم IN شق کی بجائے NOT IN کے ساتھ کام کر رہے ہیں۔

مثالی طور پر، جب بھی آپ PostgreSQL IN شق کے ساتھ حاصل ہونے والے نتائج کی نفی کرنا چاہتے ہیں تو آپ NOT شامل کر سکتے ہیں۔ درخواستیں لامتناہی ہیں۔ جب آپ اقدار کو چیک کرنا چاہتے ہیں اور ان کو تیزی سے مماثل دیکھنا چاہتے ہیں تو IN شق آپ کا بہترین دوست ہے۔

نتیجہ

IN شق WHERE شق کے ساتھ کام کرتی ہے تاکہ اقدار کی فہرست کے مقابلے میں ہدف کی قدر کو چیک کیا جا سکے۔ IN شق ایک بولین لوٹاتی ہے جو اس بات کی تصدیق کرتی ہے کہ آیا ہدف کی قدر آپ کی بتائی گئی اقدار کی فہرست میں مماثل ہے۔ آپ اقدار کو لٹریلز کے طور پر بیان کر سکتے ہیں یا استعمال کرنے کے لیے ذیلی استفسار بنانے کے لیے SELECT سٹیٹمنٹ کا استعمال کر سکتے ہیں۔ ہم نے تین مثالیں دی ہیں کہ آپ PostgreSQL IN شق کو کس طرح استعمال کر سکتے ہیں۔ امید ہے کہ، اس سے آپ کو پوسٹگری ایس کیو ایل IN شق کے ساتھ کام کرنے کا طریقہ سمجھنے میں بصیرت ملی۔