Menu
Coddy logo textTech

סיכום – שאילתות 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>

האיכות של מכשיר נמדדת באמצעות (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 אונליין