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.
אתגר
קלהטבלאות והעמודות הזמינות:
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
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מעבר ליסודות
תרגלו בעצמכם: SQL אונליין