Menu
Coddy logo textTech

CASE WHEN

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

ביטוי CASE הוא if/else if/else של SQL. הוא מופיע בתוך SELECT (או ORDER BY, או WHERE) ומפיק ערך לכל שורה.

SELECT name,
       CASE
           WHEN score >= 90 THEN 'A'
           WHEN score >= 75 THEN 'B'
           WHEN score >= 60 THEN 'C'
           ELSE 'F'
       END AS grade
FROM students

כל WHEN נבדק מלמעלה למטה; ההתאמה הראשונה קובעת. ה-ELSE הוא אופציונלי. בלעדיו, שורות שלא נמצאה להן התאמה מקבלות NULL.

תמיד סיים ב־END ותן לעמודה שם באמצעות AS.

challenge icon

אתגר

קל

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

  • employees: id, name, department, salary

החזר עבור כל עובד את name, את department ואת עמודת tier שנבנית כך:

  • 'partner' כאשר salary >= 150000 (בכל מחלקה)
  • 'senior' כאשר department = 'eng' וגם salary >= 100000
  • 'mid' כאשר salary >= 60000
  • 'entry' אחרת

מיין לפי salary בסדר יורד. שים לב שסדר ענפי WHEN חשוב: ההתאמה הראשונה היא הקובעת.

נסו בעצמכם

SELECT name, department,
       -- דרגה עם כמה ענפי WHEN המשלבים שכר ומחלקה
FROM employees
quiz iconבחנו את עצמכם

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

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

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