الوحدة 7 · SQL لمهندسي الجودة
الربط بين الجداول والتحقق الآمن من البيانات المخزنة
اجمع الجداول للتحقق من الاتساق دون تعريض البيانات الحقيقية للخطر.
نحو 11 دقيقة قراءة و20 دقيقة تطبيق (تقديرات)
جارٍ تحميل التقدم…
اقرأ
أهداف التعلّم
- استخدام INNER JOIN وLEFT JOIN وشرح الفرق بينهما.
- كتابة فحوص اتساق باستخدام GROUP BY وHAVING.
- اتباع عادات آمنة عند الاستعلام من قواعد بيانات مشتركة.
الشرح
يعيد INNER JOIN الصفوف التي لها تطابق في الجدولين. ويعيد LEFT JOIN كل صفوف الجدول الأيسر، مع قيم NULL حيث لا يوجد تطابق في الجدول الأيمن — وهذا مفيد لإيجاد ما هو مفقود.
-- Customers with no orders
SELECT c.id, c.name
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
WHERE o.id IS NULL;
-- 3 | Test Customer Cعادات آمنة
- استخدم حساب قراءة فقط حيثما أمكن، ولا تستعلم من بيئة الإنتاج دون إذن.
- ابدأ معاملات قراءة فقط عند الاستكشاف: BEGIN READ ONLY; … ROLLBACK;
- أضف LIMIT أثناء الاستكشاف، وصفِّ حسب بيانات الاختبار التي أنشأتها.
- لا تنسخ البيانات الشخصية إلى البلاغات؛ شارك الأعداد أو معرّفات سجلات الاختبار بدلاً منها.
مثال: الطلبات مع ولاية العميل
SELECT o.id, c.name, coalesce(c.wilayat, '(none)') AS wilayat, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id
ORDER BY o.id;
-- 101 | Test Customer A | Muscat | 16.500
-- 102 | Test Customer A | Muscat | 23.000
-- 103 | Test Customer B | (none) | 6.500
-- 104 | Test Customer B | (none) | 12.000أخطاء شائعة
- استخدام INNER JOIN عند البحث عن بيانات مفقودة، فيُخفي بالضبط الصفوف التي تحتاجها.
- الربط على عمود خاطئ فتتضاعف الصفوف.
- تشغيل UPDATE أو DELETE «فقط لتجهيز اختبار» في بيئة مشتركة.
جرّب
تدرّب على ما قرأته للتو. تُفحص الإجابات هنا، ولا يُقيَّم شيء علناً ولا يُحتسب في ساحة الأخطاء.
تمرين
اكتب استعلاماً يجد الطلبات التي لا يساوي إجماليها المخزّن مجموع الكمية × سعر الوحدة لبنودها. (تجاهل التوصيل والخصومات في هذا التمرين.)
اكتب إجابتك أولاً، ثم قارنها بالحل النموذجي. تبقى في هذه الصفحة فقط ولا تُرسل إلى أي مكان.
راجع
اختبر نفسك — يجب أن تكون الآن قادراً على:
- استخدام INNER JOIN وLEFT JOIN وشرح الفرق بينهما.
- كتابة فحوص اتساق باستخدام GROUP BY وHAVING.
- اتباع عادات آمنة عند الاستعلام من قواعد بيانات مشتركة.
مراجع
تابع
عندما تكون مستعداً، ضع علامة الإكمال على الدرس في خطوة «جرّب» ثم انتقل إلى التالي.
يُوسم بأنه مقروء عندما تصل إلى نهاية الدرس.