1.سهلة
أي عبارة تحذف صفوفًا من جدول؟
- ADELETE
- BDROP
- CREMOVE
- DTRUNCATE COLUMN
2.سهلة
أي كلمة مفتاحية تمنح عمودًا أو جدولًا اسمًا بديلًا مؤقتًا في الاستعلام؟
- AALIAS
- BRENAME
- CAS
- DNAME
3.سهلة
أي جملة (clause) تُرشّح الصفوف قبل التجميع؟
- AHAVING
- BWHERE
- CGROUP BY
- DORDER BY
4.متوسطة
عُرّف مفتاح أجنبي مع ON DELETE CASCADE. ماذا يحدث عند حذف صف أب؟
- Aيُضبط المفتاح الأجنبي في الصفوف الأبناء على NULL تلقائيًا
- Bيُنسخ الصف الأب إلى جدول أرشيف
- Cتُحذف الصفوف الأبناء التي تشير إليه تلقائيًا
- Dيُرفض الحذف دائمًا
5.متوسطة
أي استعلام يسرد العملاء الذين لم يقدّموا أي طلب قط؟
- ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.متوسطة
يحتوي عمود على القيم 10 و20 وNULL. ماذا تُرجع AVG(col)؟
- A30
- BNULL
- C10
- D15
7.صعبة
لماذا يُعد NATURAL JOIN محفوفًا بالمخاطر في استعلامات بيئة الإنتاج؟
- Aلأنه يربط على كل عمود يحمل الاسم نفسه، فقد يغيّر عمود جديد النتيجة بصمت
- Bلأنه غير مدعوم في أي قاعدة بيانات
- Cلأنه يُرجع دائمًا ضربًا ديكارتيًا
- Dلأنه يتجاهل المفاتيح الأساسية والأجنبية ولا يُبقي إلا صفوف NULL
8.صعبة
يُسقط الاستعلام FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' على نحو غير متوقع العملاء الذين لا طلبات لهم. لماذا؟
- Aلأن status كلمة محجوزة
- Bلأن LEFT JOIN لا تُبقي الصفوف غير المتطابقة أبدًا
- Cلأن شرط WHERE على o يرفض الصفوف المملوءة بـ NULL، فيحوّله إلى ربط داخلي
- Dلأن الربط يجب أن يستخدم USING بدلًا من ON
مفتاح الإجابات
- 1. A · DELETE
- 2. C · AS
- 3. B · WHERE
- 4. C · تُحذف الصفوف الأبناء التي تشير إليه تلقائيًا
- 5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 6. D · 15
- 7. A · لأنه يربط على كل عمود يحمل الاسم نفسه، فقد يغيّر عمود جديد النتيجة بصمت
- 8. C · لأن شرط WHERE على o يرفض الصفوف المملوءة بـ NULL، فيحوّله إلى ربط داخلي
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.