مراجعة - استعلامات WITH
جزء من قسم الأساسيات في رحلة SQL على Coddy. الدرس 50 من 72.
التحدي
سهلالجداول والأعمدة المتاحة:
devices_specs:device_id,width,height,num_features,opiniondevices_score:device_id,score
تُقاس جودة الجهاز باستخدام (width/height)*num_features.
نريد العثور على جميع الأجهزة التي جرى المبالغة في تقديرها. استخرج جميع الأجهزة التي تكون فيها قيمة opinion للجهاز أكبر من الجودة المتوسطة، وتكون فيها قيمة score للجهاز أقل من الجودة المتوسطة. أَعِد device_id فقط.
لحل المسألة، استخدم عبارة WITH لإنشاء استعلام فرعي يحسب متوسط الجودة، ثم أعد استخدامه في الاستعلام الرئيسي.
جرّب بنفسك
-- الخطوة 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 ____جميع دروس الأساسيات
2الشروط
أساسيات الشروطالكلمة المفتاحية ANDالكلمة المفتاحية ORالكلمة المفتاحية NOTدمج شروط متعددةالأقواسالقيم المنطقية Booleans3تنسيق محدد للنتائج
قيم Nullترتيب النتائج - الجزء الأولترتيب النتائج - الجزء الثانيمراجعة - شركة للأمن السيبرانيتحديد عدد السجلاتمراجعة - مصنع مركبات6تحديات تمهيدية
مراجعة - الانتخابات البرلمانيةمراجعة - اعتقال الشرطة للمجرمينمراجعة - حاوية مشروبات البارمراجعة - هندسة أعمدة جديدة9جداول متعددة
الربط الأساسي - الجزء الأولالربط الأساسي - الجزء الثانيمراجعة - الربط (Join)الربط الذاتي (Self Join)مراجعة - الربط الذاتي (Self Join)الاتحاد (Union)تبسيط الاستعلامات، الكلمة المفتاحية WITHمراجعة - استعلامات WITHمراجعة - مقاول العقارات12Window Functions الجزء الثاني
دوال RANK و DENSE_RANKمراجعة - RANK و DENSE_RANKدالة NTILEدوال التجميعمعيار ROWS و RANGEتدرّب بنفسك: Playground لـ SQL