Menu
Coddy logo textTech

COALESCE לערכי NULL

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

COALESCE מחזיר את הארגומנט הראשון שאינו NULL:

COALESCE(nickname, first_name, 'Anonymous')

קורא משמאל לימין ועוצר בערך הראשון שאינו null. זו הדרך הנקייה ביותר לספק ערך חלופי בשאילתה, בלי צורך ב־CASE.

שימושים נפוצים:

  • הצגת 0 במקום NULL מתוך LEFT JOIN: COALESCE(SUM(amount), 0)
  • בחירת השדה האופציונלי הראשון שאינו ריק: COALESCE(mobile, home, work)
challenge icon

אתגר

קל

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

  • users: id, display_name, email
  • orders: user_id, amount

החזר שורה אחת לכל משתמש עם:

  • id
  • label: display_name אם הוגדר, אחרת email, אחרת 'unknown'
  • total_spent: סכום ערכי amount של הזמנות המשתמש; משתמשים ללא הזמנות צריכים להציג 0 (ולא NULL)

מיין לפי id. רמז: LEFT JOIN מ-users אל orders יחד עם COALESCE(SUM(...), 0) מטפל בשורות החסרות.

נסו בעצמכם

SELECT u.id,
       -- label באמצעות COALESCE
       -- total_spent באמצעות COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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