Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - استعلامات WITH

جزء من قسم الأساسيات في رحلة SQL على Coddy. الدرس 50 من 72.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <b>devices_specs</b>: <b>device_id</b>, <b>width</b>, <b>height</b>, <b>num_features</b>, <b>opinion</b>
  • <b>devices_score</b>: <b>device_id</b>, <b>score</b>

تقاس جودة الـ device بواسطة (width/height)*num_features.

نريد العثور على جميع الأجهزة المبالغ في تقييمها. قم بجلب جميع الـ devices التي تكون قيمة الـ opinion للـ device فيها أكبر من الـ average quality وتكون قيمة الـ score للـ device أقل من الـ average quality. أرجع فقط الـ device_id.

لحل هذه المسألة، استخدم بند WITH لإنشاء استعلام فرعي يحسب الـ average quality وأعد استخدامه في الاستعلام الرئيسي.

جرّب بنفسك

-- الخطوة 1: سمِّ مجموعة نتائج مؤقتة تحتوي على قيمة متوسطة واحدة
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- الخطوة 2: اجمع جدولي الأجهزة معًا، ثم اربط مجموعة النتائج المؤقتة
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- الخطوة 3: احتفظ بالأجهزة التي تقع على جانبين متقابلين من ذلك المتوسط
WHERE ____

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ SQL