في 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
: استرداد القيمة الأخيرة لعمود في نتيجة الاستعلام.