شرط گذاشتن با دستور case در Sql

فرض کنید که شما مدیر یک مدرسه هستید و قرار است دانش آموزانی را با شرایط مختلف انتخاب کنید
 دانش آموزانی که ریاضی را قبول شده اند
دانش آموزانی که فارسی را قبول شده اند
دانش آموزانی که درس هندسه را قبول شده اند

دستور case در Sql
دستور case در Sql



یک کار راحت برای شما این است که تمام دانش آموزان را در حیاط مدرسه صف کنید و از میان آن ها شروع به انتخاب دانش آموزان مدنظر کنید
حالا بیایید این کار را بوسیله sql انجام دهیم ما یک جدول از دانش آموزان به همراه نمرات آن ها در درس های مختلف داریم
قصد داریم از میان آن ها دانش آموزانی که شرط بالا را دارند انتخاب یا فیلتر کنیم
در این مواقع که شروط مختلف برای انتخاب داریم دستور case در sql می تواند به ما کمک کند!
شاید بپرسید چطوری؟
ساختار دستور case به صورت زیر است
(case when شرط then نتیجه
when شرط then نتیجه
...
else نتیجه در صورت غلط بودن تمام شرط های قبلی
end)

به کمک این دستور می توانیم به راحتی در کوئری خود دانش آموزانی برای شروط بالا را فیلتر کنیم
select * from
student where
(case when math > 10 then 1
when farsi > 10 then 1
else 0)=1
 درکوئری بالا ما دو شرط قرار دادیم اگر ریاضی یا فارسی بالاتر از 10 باشد نتیجه کوئری صحیح می باشد

آموزش ویدیویی در آپارات