SQL للمستوى المتوسط: استعلامات أكثر قوة لتحليل البيانات
H2: الفهارس (Indexes) وتحسين الأداء
الفهارس تساعد على تسريع الاستعلامات، خصوصًا مع الجداول الكبيرة.
مثال: إنشاء فهرس على عمود "customer_id":
CREATE INDEX idx_customer_id ON orders(customer_id);
⚠️ خطأ شائع: الإكثار من الفهارس قد يبطئ عمليات الإدخال والتحديث.
H2: الاستعلامات الفرعية (Subqueries)
تسمح باستخدام استعلام داخل استعلام آخر.
مثال: استخراج الموظفين الذين رواتبهم أعلى من متوسط الرواتب:
SELECT name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
H2: أنواع JOIN المتقدمة
H3: LEFT JOIN
يعرض جميع السجلات من الجدول الأول حتى لو لم يكن لها تطابق في الجدول الثاني:
SELECT customers.name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
H3: FULL OUTER JOIN
يعرض جميع السجلات من كلا الجدولين حتى لو لم يكن هناك تطابق:
SELECT a.name, b.order_id
FROM customers a
FULL OUTER JOIN orders b ON a.id = b.customer_id;
H2: النوافذ (Window Functions)
تستخدم لإجراء حسابات على مجموعة من الصفوف مع الحفاظ على التفاصيل.
مثال: حساب ترتيب كل موظف حسب الراتب:
SELECT name, salary,
RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;
مفيدة جدًا في التحليلات مثل ترتيب المبيعات أو حساب المتوسطات المتحركة.
H2: التعامل مع القيم المفقودة
استخدام
COALESCEلاستبدال القيم NULL بقيمة افتراضية:
SELECT name, COALESCE(phone, 'غير متوفر') AS phone_number
FROM customers;
H2: التجميع المتقدم
استخدام
HAVINGلتصفية النتائج بعد التجميع:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 5000;
H2: الأخطاء الشائعة في المستوى المتوسط
نسيان الفرق بين WHERE وHAVING (الأول قبل التجميع، الثاني بعده).
استخدام JOIN بدون تحديد العلاقة بشكل صحيح مما يؤدي إلى تكرار الصفوف.
كتابة استعلامات طويلة بدون تقسيمها أو إضافة تعليقات توضيحية.
الخاتمة
الوصول إلى مستوى متوسط في SQL يعني أنك لم تعد تكتفي بالاستخراج البسيط للبيانات، بل أصبحت قادرًا على تحليلها بعمق، تحسين الأداء، واستخدام وظائف متقدمة مثل النوافذ والاستعلامات الفرعية. هذه المهارات تجعل عملك أكثر احترافية وتفتح لك المجال لاستخدام SQL مع أدوات أخرى مثل Power BI وPython.

إرسال تعليق
شاركنا تعليقك