Menu
CoddyTech

סיכום – שאילתות WITH

חלק מהיחידה יסודות במסלול ה-SQL של Coddy. שיעור 50 מתוך 72.

challenge icon

אתגר

קל

הטבלאות והעמודות הזמינות:

  • devices_specs: device_id, width, height, num_features, opinion
  • devices_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 ____

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: SQL אונליין