1.سهلة
ماذا يفعل قيد CHECK؟
- Aيتحقق مما إذا كان جدول ما موجودًا قبل تنفيذ استعلام عليه
- Bيعدّ الصفوف في جدول
- Cيتحقق من كلمة مرور المستخدم
- Dيرفض الصفوف التي لا تستوفي قيمها شرطًا ما
2.سهلة
أي قيد يضمن ألا يُترك عمود فارغًا (NULL) أبدًا؟
- AUNIQUE
- BCHECK NULL
- CDEFAULT
- DNOT NULL
3.سهلة
أي صفوف تختار WHERE price BETWEEN 10 AND 20؟
- Aالصفوف التي سعرها خارج المدى من 10 إلى 20
- Bالصفوف التي سعرها من 10 إلى 20، بما في ذلك 10 و20
- Cالصفوف التي سعرها أعلى من 10 وأقل من 20، باستثناء 10 و20
- Dالصفوف التي سعرها يساوي 10 أو 20 فقط
4.متوسطة
أي استعلام يسرد العملاء الذين لم يقدّموا أي طلب قط؟
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS 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 = NULL
5.متوسطة
ما حقن SQL (SQL injection)؟
- Aطريقة لإضافة الفهارس
- Bتقنية للنسخ الاحتياطي لقاعدة البيانات
- Cتقنية لإدراج صفوف كثيرة بسرعة بعبارة INSERT واحدة
- Dهجوم تُغيّر فيه مدخلات المستخدم بنية استعلام SQL
6.متوسطة
ماذا يُرجع SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results؟
- Aكل اسم مع التسمية 'pass' أو 'fail' بحسب الدرجة
- Bعدد الطلاب الناجحين والراسبين
- Cخطأ لأن CASE غير مسموح بها في SELECT
- Dالطلاب الناجحين فقط
7.صعبة
لربط مساواة بين جدولين كبيرين دون فهارس مفيدة، أي خوارزمية ربط يختارها المُحسِّن غالبًا؟
- Aربط الحلقات المتداخلة مع البحث في الفهرس
- Bربط الخرائط النقطية على المفتاح الأساسي
- Cالربط بالتجزئة (Hash join)
- Dالربط التقاطعي
8.صعبة
ماذا يُرجع SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp؟
- Aالموظفين الذين يكسبون أكثر من متوسط قسمهم فقط
- Bصفًا واحدًا لكل قسم مع متوسط راتبه
- Cكل صف موظف مع متوسط راتب قسمه
- Dخطأ لأن name ليس في GROUP BY
مفتاح الإجابات
- 1. D · يرفض الصفوف التي لا تستوفي قيمها شرطًا ما
- 2. D · NOT NULL
- 3. B · الصفوف التي سعرها من 10 إلى 20، بما في ذلك 10 و20
- 4. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. D · هجوم تُغيّر فيه مدخلات المستخدم بنية استعلام SQL
- 6. A · كل اسم مع التسمية 'pass' أو 'fail' بحسب الدرجة
- 7. C · الربط بالتجزئة (Hash join)
- 8. C · كل صف موظف مع متوسط راتب قسمه
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.