دمج جميع المنتجات
جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 55 من 72.
التحدي
متوسطالجداول والأعمدة المتاحة:
<strong>enom_gilpane</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>castle_loctus</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>honpan_bilopsa</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>yurnol_qoltam</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong>
الآن قم بحساب نفس الجودة (quality) لجميع المنتجات (كل جدول يمثل منتجاً) وقم بدمجها جميعاً باستخدام UNION ALL:
quality_table as (
SELECT * FROM filtered_quality_1
UNION ALL
SELECT * FROM filtered_quality_2
UNION ALL
SELECT * FROM filtered_quality_3
UNION ALL
SELECT * FROM filtered_quality_4
)قم بإرجاع part_id و quality
جرّب بنفسك
SELECT part_id, AVG(quality) AS quality
FROM (
SELECT part_id, AVG(quality) AS quality
FROM (
SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM enom_gilpane)) / size) as quality
FROM enom_gilpane
)
GROUP BY part_id
HAVING quality > AVG(quality)
UNION ALL
SELECT part_id, AVG(quality) AS quality
FROM (
SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM castle_loctus)) / size) as quality
FROM castle_loctus
)
GROUP BY part_id
HAVING quality > AVG(quality)
UNION ALL
SELECT part_id, AVG(quality) AS quality
FROM (
SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM honpan_bilopsa)) / size) as quality
FROM honpan_bilopsa
)
GROUP BY part_id
HAVING quality > AVG(quality)
UNION ALL
SELECT part_id, AVG(quality) AS quality
FROM (
SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM yurnol_qoltam)) / size) as quality
FROM yurnol_qoltam
)
GROUP BY part_id
HAVING quality > AVG(quality)
)
GROUP BY part_id
ORDER BY quality DESCجميع دروس الأساسيات
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