SQL ڈویلپرز کے لیے انٹرویو کے سوالات: مشترکہ SQL انٹرویو سوال و جواب- حصہ 3

ایس کیو ایل میں، آپ نے کونسی قسمیں joins استعمال کی ہیں، اور بتائیں کہ وہ کیسے کام کرتے ہیں؟

جواب:

  • INNER JOIN: دونوں جدولوں سے مماثل ڈیٹا کے ساتھ قطاریں لوٹاتا ہے۔
  • LEFT JOIN: بائیں میز سے تمام قطاریں اور دائیں میز سے مماثل قطاریں لوٹاتا ہے۔
  • RIGHT JOIN: دائیں میز سے تمام قطاریں اور بائیں میز سے مماثل قطاریں لوٹاتا ہے۔
  • FULL JOIN: دونوں جدولوں سے تمام قطاریں واپس کرتا ہے، بشمول غیر مماثل قطاریں۔

 

ایس کیو ایل میں ACID کے تصورات اور لین دین کے انتظام میں ان کے کردار کی وضاحت کریں۔

جواب: ACID کا مطلب ہے Atomicity, Consistency, Isolation, Durability ۔ یہ SQL میں لین دین کے انتظام میں ضروری خصوصیات ہیں:

  • Atomicity اس بات کو یقینی بناتا ہے کہ لین دین یا تو مکمل طور پر پراسیس ہوا ہے یا بالکل بھی پروسیس نہیں ہوا ہے۔
  • Consistency اس بات کو یقینی بناتا ہے کہ ڈیٹا کو طے شدہ اصولوں، رکاوٹوں اور شرائط پر عمل کرنا چاہیے۔
  • Isolation اس بات کو یقینی بناتا ہے کہ ہم آہنگی لین دین ایک دوسرے کے ساتھ مداخلت نہیں کرتے ہیں۔
  • Durability اس بات کو یقینی بناتا ہے کہ ایک بار ٹرانزیکشن مکمل ہونے کے بعد، ڈیٹا بیس میں ہونے والی تبدیلیاں محفوظ اور مستقل طور پر محفوظ ہو جاتی ہیں۔

 

ایس کیو ایل میں فنکشنز میں کیا فرق ہے ROW_NUMBER(), RANK(), DENSE_RANK() ؟

جواب: ROW_NUMBER(), RANK(), DENSE_RANK() سوال کے نتیجے میں قطاروں کو نمبر دینے کے لیے سبھی استعمال ہوتے ہیں، لیکن ان میں درج ذیل اختلافات ہیں:

  • ROW_NUMBER(): ڈپلیکیٹس پر غور کیے بغیر، استفسار کے نتیجے میں قطاروں کو مسلسل نمبر تفویض کرتا ہے۔
  • RANK(): سوال کے نتیجے میں قطاروں کو نمبر تفویض کرتا ہے اور ٹائی کی صورت میں اگلا نمبر چھوڑ دیتا ہے۔
  • DENSE_RANK(): استفسار کے نتیجے میں قطاروں کو نمبر تفویض کرتا ہے اور ٹائی کی صورت میں اگلا نمبر نہیں چھوڑتا۔

 

ایس کیو ایل میں استعمال کرنے کا طریقہ window functions ، اور ایک مثال فراہم کریں۔

جواب: Window functions اہم سوال کے نتیجے کو تبدیل کیے بغیر متعلقہ قطاروں کے سیٹ پر حسابات کرنے کی اجازت دیں۔ مثال کے طور پر، ہم ونڈو فنکشن کا استعمال کر سکتے ہیں کہ چل رہے ٹوٹل کا حساب لگائیں یا رزلٹ سیٹ کے اندر اوپر کی N قطاروں کو بازیافت کریں۔

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

پیٹرن میچنگ کے لیے SQL میں ریگولر ایکسپریشنز کا استعمال کیسے کریں۔

جواب: SQL میں ریگولر ایکسپریشنز پیچیدہ ٹیکسٹ پیٹرن کی تلاش کے لیے استعمال ہوتے ہیں۔ وہ اکثر LIKE آپریٹر یا افعال کے ساتھ استعمال ہوتے ہیں جیسے REGEXP_LIKE(اوریکل میں) یا REGEXP_MATCHES(پوسٹگری ایس کیو ایل میں)۔

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

JSON ڈیٹا کے ساتھ کام کرنے کے لیے SQL میں JSON فنکشنز کا استعمال کیسے کریں۔

جواب: SQL میں JSON فنکشنز ڈیٹا بیس میں JSON فارمیٹ میں ڈیٹا کو استفسار کرنے، داخل کرنے، اپ ڈیٹ کرنے اور حذف کرنے کی اجازت دیتے ہیں۔

مثال کے طور پر، ہم JSON کی خصوصیات میں ہیرا پھیری کرنے کے لیے JSON_VALUE، JSON_QUERY، JSON_MODIFY(SQL سرور میں) یا آپریٹرز جیسے ->، ->>، #>، #>>، وغیرہ(پوسٹگری ایس کیو ایل میں) استعمال کر سکتے ہیں۔

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

ایس کیو ایل استفسار کی اصلاح اور ڈیٹا بیس پرفارمنس ٹیوننگ کے لیے جدید تکنیک

جواب: SQL سوالات اور ڈیٹا بیس کی کارکردگی کو بہتر بنانے کے لیے، ہم تکنیک استعمال کر سکتے ہیں جیسے:

  • اکثر پوچھے گئے کالموں کے لیے اشاریہ جات کا استعمال۔
  • موثر ڈیٹا کی بازیافت کے لیے اصلاح JOIN اور WHERE شقیں
  • ضرورت پڑنے پر ونڈو کے افعال اور صفحہ بندی کا استعمال۔
  • SELECT صرف ضروری کالم بازیافت کرنے کے لیے * سے گریز کرنا ۔
  • کچھ معاملات میں استفسار کے اشارے استعمال کرنا۔
  • ڈیٹا نارملائزیشن کو یقینی بنانا اور ڈپلیکیٹس کو ہٹانا۔
  • ڈیٹا بیس کو ٹریک کرنے اور اسے ٹھیک کرنے کے لیے کارکردگی کی نگرانی کے ٹولز کا استعمال۔

 

ایس کیو ایل میں SET آپریشنز کو استعمال کرنے کا طریقہ بتائیں (UNION, INTERSECT, EXCEPT)

جواب: SET آپریشنز کا (UNION, INTERSECT, EXCEPT) استعمال مختلف سوالات کے نتائج کے سیٹ کو یکجا کرنے اور جوڑ توڑ کرنے کے لیے کیا جاتا ہے۔

  • UNION: دو یا زیادہ سوالات کے نتائج کو ایک ڈیٹا سیٹ میں جوڑتا ہے اور ڈپلیکیٹس کو ہٹاتا ہے۔
  • INTERSECT: وہ قطاریں لوٹاتا ہے جو استفسار کے نتائج کے دونوں سیٹوں میں ظاہر ہوتی ہیں۔
  • EXCEPT: وہ قطاریں لوٹاتا ہے جو پہلے سوال کے نتیجے میں ظاہر ہوتی ہیں لیکن دوسری میں نہیں۔

 

LEAD, LAG, FIRST_VALUE, LAST_VALUE ایس کیو ایل میں استفسار کے فنکشنز کا استعمال کیسے کریں۔

جواب: استفسار کے فنکشنز کا LEAD, LAG, FIRST_VALUE, LAST_VALUE استعمال اسی سوال کے نتیجے میں متعلقہ قطاروں سے قدروں کو بازیافت کرنے کے لیے کیا جاتا ہے۔

  • LEAD: استفسار کے نتیجے میں اگلی قطار سے کالم کی قدر حاصل کرتا ہے۔
  • LAG: استفسار کے نتیجے میں پچھلی قطار سے کالم کی قدر حاصل کرتا ہے۔
  • FIRST_VALUE: استفسار کے نتیجے میں کالم کی پہلی قدر بازیافت کرتا ہے۔
  • LAST_VALUE: استفسار کے نتیجے میں کالم کی آخری قدر بازیافت کرتا ہے۔