أسئلة المقابلة الشخصية لمطوري SQL: أسئلة وأجوبة مقابلة SQL المشتركة- الجزء 3

في SQL ، ما هي أنواع التي joins استخدمتها ، واشرح كيف تعمل؟

إجابة:

  • INNER JOIN: إرجاع الصفوف ببيانات متطابقة من كلا الجدولين.
  • LEFT JOIN: إرجاع جميع الصفوف من الجدول الأيسر والصفوف المتطابقة من الجدول الأيمن.
  • RIGHT JOIN: إرجاع جميع الصفوف من الجدول الأيمن والصفوف المتطابقة من الجدول الأيسر.
  • FULL JOIN: إرجاع جميع الصفوف من كلا الجدولين ، بما في ذلك الصفوف غير المتطابقة.

 

شرح مفاهيم ACID في SQL ودورها في إدارة المعاملات

الإجابة: ACID تعني Atomicity, Consistency, Isolation, Durability. هذه خصائص أساسية في إدارة المعاملات في SQL:

  • Atomicity يضمن أن المعاملة تتم معالجتها بالكامل أو لا تتم معالجتها على الإطلاق.
  • Consistency يضمن أن البيانات يجب أن تلتزم بالقواعد والقيود والشروط المحددة.
  • Isolation يضمن أن المعاملات المتزامنة لا تتداخل مع بعضها البعض.
  • Durability يضمن أنه بمجرد اكتمال المعاملة ، يتم حفظ التغييرات في قاعدة البيانات بشكل آمن ودائم.

 

ما هو الفرق بين ROW_NUMBER(), RANK(), DENSE_RANK() الدوال في SQL؟

الإجابة: ROW_NUMBER(), RANK(), DENSE_RANK() تُستخدم جميعها لترقيم الصفوف في نتيجة استعلام ، ولكن لها الاختلافات التالية:

  • ROW_NUMBER(): لتعيين أرقام مستمرة للصفوف في نتيجة الاستعلام ، دون مراعاة التكرارات.
  • RANK(): يعين الأرقام للصفوف في نتيجة الاستعلام ويتخطى الرقم التالي في حالة الروابط.
  • DENSE_RANK(): يعين الأرقام للصفوف في نتيجة الاستعلام ولا يتخطى الرقم التالي في حالة الروابط.

 

كيفية الاستخدام window functions في SQL ، وتقديم مثال.

الإجابة: Window functions السماح بإجراء العمليات الحسابية على مجموعة من الصفوف ذات الصلة دون تغيير نتيجة الاستعلام الرئيسية. على سبيل المثال ، يمكننا استخدام وظائف النافذة لحساب الإجماليات الجارية أو استرداد أعلى عدد من الصفوف ضمن مجموعة النتائج.

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

 

كيفية استخدام التعبيرات العادية في SQL لمطابقة الأنماط

الإجابة: يتم استخدام التعبيرات العادية في SQL لعمليات البحث المعقدة عن أنماط النص. غالبًا ما يتم استخدامها مع LIKE المشغل أو وظائف مثل REGEXP_LIKE(في Oracle) أو REGEXP_MATCHES(في PostgreSQL).

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

 

كيفية استخدام وظائف JSON في SQL للعمل مع بيانات JSON

الإجابة: تسمح وظائف JSON في SQL بالاستعلام عن البيانات وإدراجها وتحديثها وحذفها بتنسيق JSON في قاعدة البيانات.

على سبيل المثال ، يمكننا استخدام وظائف مثل JSON_VALUE أو JSON_QUERY أو JSON_MODIFY(في SQL Server) أو عوامل تشغيل مثل -> ،- >> ، #> ، # >> ، وما إلى ذلك(في PostgreSQL) لمعالجة خصائص JSON.

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

 

تقنيات متقدمة لتحسين استعلام SQL وضبط أداء قاعدة البيانات

الإجابة: لتحسين أداء استعلامات SQL وأداء قاعدة البيانات ، يمكننا استخدام تقنيات مثل:

  • استخدام الفهارس للأعمدة التي يتم الاستعلام عنها بشكل متكرر.
  • التحسين JOIN والبنود WHERE لاسترجاع البيانات بكفاءة.
  • استخدام وظائف النافذة وترقيم الصفحات عند الضرورة.
  • تجنب SELECT * لاسترداد الأعمدة الضرورية فقط.
  • استخدام تلميحات الاستعلام في بعض الحالات.
  • ضمان تطبيع البيانات وإزالة التكرارات.
  • استخدام أدوات مراقبة الأداء لتتبع قاعدة البيانات وضبطها.

 

اشرح كيفية استخدام SET العمليات (UNION, INTERSECT, EXCEPT) في SQl

الإجابة: تُستخدم SET العمليات (UNION, INTERSECT, EXCEPT) لدمج مجموعات نتائج الاستعلامات المختلفة ومعالجتها.

  • UNION: يدمج نتائج استعلامين أو أكثر في مجموعة بيانات واحدة ويزيل التكرارات.
  • INTERSECT: إرجاع الصفوف التي تظهر في مجموعتي نتائج الاستعلام.
  • EXCEPT: إرجاع الصفوف التي تظهر في مجموعة نتائج الاستعلام الأولى ولكن ليس في المجموعة الثانية.

 

كيفية استخدام وظائف الاستعلام مثل LEAD, LAG, FIRST_VALUE, LAST_VALUE SQL

LEAD, LAG, FIRST_VALUE, LAST_VALUE الإجابة: تُستخدم وظائف الاستعلام مثل لاسترداد القيم من الصفوف ذات الصلة داخل نفس نتيجة الاستعلام.

  • LEAD: الحصول على قيمة العمود من الصف التالي في نتيجة الاستعلام.
  • LAG: الحصول على قيمة العمود من الصف السابق في نتيجة الاستعلام.
  • FIRST_VALUE: استرداد القيمة الأولى لعمود في نتيجة الاستعلام.
  • LAST_VALUE: استرداد القيمة الأخيرة لعمود في نتيجة الاستعلام.