دستور CASE در SQL – از کاربرد تا نحوه استفاده به زبان ساده

۹۷ بازدید
آخرین به‌روزرسانی: ۰۸ فروردین ۱۴۰۳
زمان مطالعه: ۱۲ دقیقه
دستور CASE در SQL – از کاربرد تا نحوه استفاده به زبان ساده

یکی از بهترین روش‌ها برای پیدا کردن شغل در رشته‌ای مانند تحلیل‌گر داده یا دانشمند داده تسلط به پایگاه‌های داده رابطه‌ای و «زبان کوئری ساختاریافته» (Structured Query Language | SQL) است. با تسلط به SQL موفق خواهید شد به وسیله «ایجاد رکوردها» (Creating Records)، «خواندن داده‌ها» (Reading Data)، «به‌روز رسانی رکورد‌ها» (Updating Records) و «حذف رکورد‌ها» (Deleting Records) پایگاه‌‌های داده را مدیریت کنید. مجموعه‌ این عملیات به‌صورت اختصاری به‌نام CRUD شناخته می‌شود. این عملیات زیر مجموعه «زبان کار با داده‌» (Data Manipulation Language | DML) قرار می گیرند. گاهی اوقات، در زمان اجرای عملیات CRUD با موقعیت‌های بر می‌خوریم که در آن‌ها برای اجرا عملیات باید داده‌های شامل شرایط خاصی را هدف گرفت. این شرایط خاص را با استفاده از دستور CASE در SQL می‌توان مدیریت کرد.

در این مطلب از مجله فرادرس، به بحث و بررسی دقیق دستور CASE در SQL پرداخته‌ایم و تلاش می‌کنیم به‌صورت دقیق روش کار دستور CASE در هر کدام از عملیات مربوط به CRUD را بیاموزیم.

دستور CASE در SQL چیست؟

دستور CASE در SQL این امکان را فراهم می‌کند که شرایط مختلف را ارزیابی کنیم و زمانی که شرط خاصی فراهم شد، مقدار متناظر با آن حالت را برگردانیم. عبارت CASE همیشه با کلمه کلیدی CASE شروع و با کلمه کلیدی END به پایان می‌رسد. اگر در سناریو مورد نظرمان هیچ شرطی برقرار نشد می‌توانیم از عبارت ELSE نیز برای برگرداندن مقدار خاص دیگری استفاده کنیم. در حالت بر قرار نشدن هیچ کدام از شرط‌های دستور CASE در SQL اگر از عبارت ELSE استفاده نکنیم، به عنوان خروجی، مقدار NULL برگشت داده می‌شود. باید بدانیم که دستور CASE در SQL می‌تواند حدود 255 شرط مختلف را ارزیابی کند.

استوانه‌ای به‌صورت عمودی ایستاده است و ذرات نورانی در هوا

از آنجا که عبارت CASE در تبدیل و جابه‌جا کردن داده‌های خروجی کمک بسیار زیادی می‌کند استفاده از دستورات CASE در SQL می‌تواند بسیار سودمند باشد. برای مثال تصور کنید لیستی از حالت‌های مختلف وجود دارد که باید برای هر کدام کلمه مخفف یا شکل کوتاه شده آن را استفاه کرد. برای مثال، می‌توانیم با استفاده از دستور CASE هر جا که از نام «کالیفرنیا» (California) استفاده شده بود کارکترهای CA را برگردانیم.

آماده کردن داده های نمونه برای شروع کار

همان‌طور که دستور CASE در SQL را بررسی می‌کنیم به داده‌هایی نیز برای کار با این دستور و مثال‌هایش نیاز خواهیم داشت. برای اجرای مثال‌ها، داده‌هایی با ساختن جدول موقتی و وارد کردن چند ردیف داده فرضی در آن جدول ایجاد می‌کنیم. در SQL server جدول‌هایی که اسمشان با استفاده از علامت هشتگ #  شروع می‌شود جدول موقتی هستند.

به کد زیر نگاه کنید و در صورت لزوم در سیستم خود کپی کنید. از این کد برای ایجاد جدول موقتی استفاده شده است.

1create table #temp_table (
2	personID int IDENTITY(1,1) PRIMARY KEY
3	, [state] varchar(50)
4	, raceEthnicityCode int
5	, lastName varchar(50)
6	, firstname varchar(50)
7	, income int
8) 
9
10insert into #temp_table ([state], raceEthnicityCode, lastName, firstname, income)
11values ('Minnesota', 6, 'Johnson', 'Oliver', 100000)
12insert into #temp_table ([state], raceEthnicityCode, lastName, firstname, income)
13values ('Minnesota', 1, 'Gasga', 'Luis', 102000)
14insert into #temp_table ([state], raceEthnicityCode, lastName, firstname, income)
15values ('California', 2, 'Anderson', 'Kristen', 200000)
16insert into #temp_table ([state], raceEthnicityCode, lastName, firstname, income)
17values ('Kentucky', 2, 'Anderson', 'Jenny', 65000)
18insert into #temp_table ([state], raceEthnicityCode, lastName, firstname, income)
19values ('Kentucky', 7, 'Clinton', 'Lamar', 82000)
20
21select * from #temp_table

با کمک کد بالا جدول موقتی #temp_table  به همراه چند داده فرضی ایجاد می‌شود.

داده‌های فیلتر شده جدول

دستور CASE در SQL چگونه نوشته می شود؟

سینتکس دستور CASE در SQL کاملا ساده است. اما موارد استفاده از این دستور گاهی می‌تواند پیچیده باشد. زیرا با توجه به شرایط مختلف باید منطق، توابع یا عبارت‌های تو در توی متفاوتی را در این دستور استفاده کنیم. کلمه کلیدی CASE میتواند در عبارت‌های دستوری مختلفی مانند SELECT و UPDATE و DELETE و SET همراه با کلمات کلیدی مختلفی مانند WHERE و ORDER BY و HAVING در SQL استفاده شود.

در کد زیر شکل پایه سینتکس این عبارت را می‌بینید.

1CASE
2WHEN condition_1 THEN result_1
3WHEN condition_2 THEN result_2
4WHEN condition_n THEN result_n…
5ELSE result
6END

برای ادامه کار بهتر است که در ابتدا نگاهی به پارامترهای درون سینتکس بالا بیاندازیم. توجه کنید که دستور CASE در SQL از کلمات WHEN و THEN برای ارزیابی شرط و بر گرداندن خروجی استفاده می‌کند. پایگاه داده شروع به بررسی شرایط تعیین شده برای دستور CASE می‌کند. بعد از اینکه پایگاه داده اولین شرط برقرار را پیدا کرد نتیجه متناظر با آن شرط را برگشت می‌دهد. سپس ارزیابی عبارت دستور CASE در پایگاه داده متوقف می‌شود. دادن نام مستعار به عبارت CASE اختیاری است. اما به پایان رسیدن بررسی شرایط یا توقف اجرای باقیمانده عبارت CASE بعد از بر گرداندن نتیجه پیدا شده در عبارت SELECT یا وقتی که نام ستون NULL شد اجباری است.

چطور در کار با SQL حرفه ای تر شویم؟

در صورتی که در مراحل اولیه آشنایی نسبت به زبان برنامه‌نویسی SQL هستید، وب‌سایت آموزشی فرادرس فیلم‌های بسیار مناسبی از دوره‌های مختلف برای آموزش SQL فراهم کرده است. این دوره‌‌های آموزشی می‌توانند مهارت‌های سطح مبتدی، متوسط و حرفه‌ای را به‌خوبی آموزش دهند. دروه‌های که در ادامه آمده‌اند به ترتیب سطوح مختلف مهارت را آموزش می‌دهند.

مجموعه آموزش SQL Server– مقدماتی تا پیشرفته

اگر در زمینه کار با SQL حرفه‌ای هستید،‌ می‌توانید از فیلم‌های آموزشی سطح حرفه‌ای برای افزایش مهارت‌های خود نیز استفاده کنید.

مثال هایی از دستور CASE در SQL

الان که با سینتکس این دستور و پارامترهای آن آشنا شدیم، برای درک بهتر روش کار دستور CASE در SQL باید مثال‌هایی را نیز بررسی کنیم. برای شروع از نمونه‌های ساده عبارت SELECT استفاده می‌کنیم. سپس هم مثال‌های پیچیده‌ای درباره استفاده از دستور CASE برای «بروز رسانی»‌ (Updating) و «حذف کردن» (Deleting) رکوردها را بررسی خواهیم کرد.

در این بخش با مثال‌های معرفی شده در پایین کار خواهیم کرد.

  • مثال ساده‌ای درباره دستور CASE در SQL
  • عبارت‌های ساده CASE در SQL به‌صورت جست‌وجو شده
  • فیلتر کردن داده‌ها با استفاده از عبارت‌های CASE در SQL
  • جمع‌آوری داده‌ها با استفاده از عبارت‌های CASE در SQL
  • دستور CASE به‌صورت تو در تو در SQL
  • «تطابق چندگانه» (Multiple Matches) در عبارت CASE در SQL
  • به‌روزرسانی رکوردها با استفاده از عبارت CASE در SQL
  • حذف کردن رکوردها با استفاده از عبارت CASE در SQL

 

مثال ساده ای درباره دستور CASE در SQL

عبارت ساده CASE برای تعیین نتیجه خروجی، شرایط مختلفی را در هر سطر از کوئری می‌سنجد. در این مثال عبارت SELECT را به‌شکلی می‌نویسیم که دستور CASE برای مخفف کردن نام ایالت‌ها، بر روی ستون state  استفاده شود. به کد زیر توجه کنید.

1SELECT personID, [state],
2CASE [state]
3	WHEN 'Minnesota' THEN 'MN'
4	WHEN 'California' THEN 'CA'
5	WHEN 'Kentucky' THEN 'KY'
6END abbrev
7FROM #Temp_table

خروجی کد بالا به‌صورت زیر قابل مشاهده است.

داده‌های ایالتهای مختلف

توجه کنید که در عبارت ساده CASE، فیلد مربوط به ایالت state به عنوان «نشانگر» (Expression) کوئری استفاده شده است. به این معنا که شرایط تعیین شده بر روی فیلد state ارزیابی خود را انجام می‌دهند. به این شکل از کوئری‌ها، عبارت ساده CASE می‌گوییم. به این علت که برای این کوئری منطق پیچیده‌ای پیاده‌سازی نکرده‌ایم. در واقع شرایط به شکلی تعریف نشده‌اند که نیاز به بررسی بر روی داده‌های سایر فیلد‌ها نیز داشته باشند.

عبارت های ساده CASE در SQL به صورت جست‌ وجو شده

به‌صورتی که مدیران داده‌ حرفه‌ای تجربه کرده‌اند، استفاده از دستور CASE به‌صورت جست‌وجو شده رایج‌تر از استفاده از عبارت ساده CASE است. زیرا این نوع از عبارت‌ها معمولا از منطق شرطی پیچیده‌تری نیز بهره‌مند می‌شوند. دستور CASE به‌صورت جست‌وجو شده از نشانگر‌های Boolean برای تعیین نتیجه استفاده می‌کند.

به کد آمده پایین برای نمایش مثالی از عبارت CASE به‌صورت جست‌وجو شده توجه کنید.

1SELECT personID, [state],
2CASE 
3	WHEN [state] = 'Minnesota' THEN 'MN'
4	WHEN [state] = 'California' THEN 'CA'
5	WHEN [state] = 'Kentucky' THEN 'KY'
6END abbrev
7FROM #Temp_table

خروجی کد بالا به‌صورت زیر قابل مشاهده است.

جدولی با داده‌های آزمایشی برای بررسی دستور case در sql

همانطور که در این عبارت‌های ساده CASE می‌بینیم، با استفاده از عبارات CASE در SQL، محدودیتی برای ارزیابی شرایط در هر عبارت شامل CASE وجود ندارد. می‌توانیم برای جست‌وجو فیلدهای مختلف نشانگر‌های Boolean را در شرایط عبارت WHEN درج کنیم.

دختری با هدفون بر روی سرش به مانیتور خیره شده است

به کدی که در پایین برای نشان دادن مثال بالا زده شده توجه کنید.

1SELECT personID, [state],
2CASE
3	WHEN [state] = 'Minnesota' AND Income >= 100000 THEN 'MN'
4	WHEN [state] = 'California' THEN 'CA'
5	WHEN [state] = 'Kentucky' THEN 'KY'
6END abbrev
7FROM #Temp_table

اگر تلاش کنیم که تکه کد AND income >= 100000  را درون عبارت ساده CASE وارد کنیم، حتما با پیغام خطا رو‌به‌رو خواهیم شد.

فیلتر کردن داده ها با استفاده از عبارت های CASE در SQL

می‌توانیم با استفاده از دستور CASE داده‌ها را درون بند WHERE از کوئری SQL فیلتر کنیم. در صورتی که بخواهید رکورد‌ها را بر اساس شرایط منطقی محدود کنید، این گزینه بسیار مناسبی خواهد بود.

به کد زیر توجه کنید. در این کد مثالی از فیلتر کردن داده‌ها را با استفاده از دستور CASE پیاده‌سازی کرده‌ایم.

1SELECT personID, lastName, firstName, [state]
2FROM #Temp_table
3where(
4CASE 
5	WHEN [state] = 'Minnesota' AND Income >= 100000 THEN 'MN'
6	WHEN [state] = 'California' THEN 'CA'
7	WHEN [state] = 'Kentucky' THEN 'KY'
8END) = 'MN' 

خروجی حاصل از اجرای کوئری بالا به‌صورت زیر خواهد شد.

داده های فیلتر شده در جدول

توجه کنید که وقتی از دستور CASE برای فیلتر کردن داده‌ها استفاده می‌کنیم، از آنجا که داده‌ها به‌صورت یک ستون مجزا در کوئری برگشت داده‌ نمی‌شوند، نباید به این عبارت، نام مستعار تخصیص داد.

برای فیلتر کردن داده‌ها از دستور CASE در بند HAVING نیز می‌توان استفاده کرد. بعضی وقت‌ها غیر منطقی است که از عبارت HAVING در کنار دستور CASE استفاده کنیم. زیرا لازم می‌شود که عبارت CASE را همراه با یکی از «توابع تجمعی» (Aggregate Functions) ترکیب کنیم.

به کدی که در ادامه با توجه به نکته بالا پیاده‌سازی شده توجه کنید.

1SELECT personID, lastName, firstName, [state]
2FROM #Temp_table
3GROUP BY personID, lastName, firstName, [state]
4HAVING max(CASE 
5		WHEN income < 100000 THEN 1 
6                WHEN income BETWEEN 100000 AND 199999 THEN 2
7                ELSE 3
8                END) > 1

خروجی حاصل از اجرای کوئری بالا به‌صورت زیر است.

داده‌های حذف شده در جدول

برای این مثال در کوئری بالا از تابع تجمعی max()  همراه با بند HAVING استفاده کرده‌ایم. اما استفاده کوئری‌ها فقط محدود به این تابع نمی‌شود. در این مثال هر جا که شرط درون عبارت CASE برابر با 2 یا 3 شود کوئری رکوردها را بر می‌گرداند. زیرا ماده HAVING هر زمانی که شرط عبارت CASE مقدار 1 را بر گرداند، کوئری‌ها را فیلتر می‌کند.

سه عدد استوانه به نماد پایگاه داده کنار یکدیگر ایستاده‌اند.

جمع آوری داده ها با استفاده از دستور CASE در SQL

یکی از روش‌های پرطرفدار استفاده از دستور CASE در SQL در شمارش رکورد‌ها است. مخصوصا در وقت‌هایی که استفاده از تابع count()  به تنهایی برای شمارش کار آسانی نباشد. برای مثال فرض کنید که باید ردیف مجزایی را به عنوان مجموعه نتیجه عملیات بر گردانیم. این ردیف نمایانگر تعداد رکوردها درون هر ایالت است به شرطی که درآمد بیشتر یا مساوی 100000$ باشد.

کوئری مثال بالا را در کد زیر پیاده‌سازی کرده‌ایم.

1select sum(CASE 
2		WHEN [state] = 'Minnesota' and income >= 100000 THEN 1 
3		ELSE 0 
4		END) MN_counts,
5	sum(CASE WHEN [state] = 'California' and income >= 100000 THEN 1
6		ELSE 0
7		END) CA_counts,
8	sum(CASE WHEN [state] = 'Kentucky' and income >= 100000 THEN 1
9		ELSE 0
10		END) KY_counts
11from #temp_table

خروجی کوئری بالا را می‌توانید در تصویر زیر ببینید.

فیلتر بیشتر داده‌های جدول

با استفاده از تابع sum()  درون عبارت تو در توی CASE می‌توانیم به‌طور موثری تعداد رکورد‌های مورد نظرمان را بشماریم. در مثال بالا تعداد رکوردها را با توجه به نتیجه شرط تعیین شده شمارش کردیم. هر جا که شرط برقرار بود دستور CASE مقدار 1 و هر جا شرط برقرار نبود مقدار 0 بر می‌گرداند.

دستور CASE در SQL به صورت تو در تو

یکی از پیشرفته‌ترین موارد کاربرد دستور CASE در SQL استفاده از عبارت CASE به‌صورت تو در تو با عبارت CASE دیگری است. به عنوان مثال، وقتی که «زیر شرط‌ها»یی (Sub-Conditions) داریم که باید بعد از تایید شرط اصلی مورد ارزیابی قرار بگیرند.

به کد زیر نگاه کنید. در این کد مثالی از مورد گفته شده در بالا را پیاده‌سازی کرده‌ایم.

1SELECT personID, lastName, firstName, [state],
2CASE 
3	WHEN [state] = 'Minnesota' 
4	THEN (CASE WHEN income > 100000 THEN 'over'
5			ELSE 'not over' END)
6	WHEN [state] = 'California' 
7THEN (CASE WHEN income > 150000 THEN 'over'
8			ELSE 'not over' END)
9	WHEN [state] = 'Kentucky' 
10THEN (CASE WHEN income > 75000 THEN 'over'
11			ELSE 'not over' END)
12END over_income
13FROM #Temp_table

خروجی کوئری بالا به‌صورت زیر قابل مشاهده است.

بررسی دستور case در sql بر روی داده‌های جدول

در مثال بالا درباره دستور CASE به‌صورت تو در تو، پایگاه داده در ابتدا فیلد مربوط به ایالت‌ها state را بررسی می‌کند. اگر این بررسی مقدار True برگرداند به سراغ ارزیابی زیر شرط تعیین شده می‌رود. برای مثال، وقتی که سیستم رکوردهایی را ارزیابی می‌کند که در آن‌ها مقدار داده درون ستون ایالت‌ها state برابر با Minnesota  باشد، دو رکورد با مقدار True بر گشت داده می‌شوند. این کوئری برای آن دو رکورد شرط درآمد را ارزیابی می‌کند تا داده خروجی را در ستون over_income  تعیین کند.

در‌ صورتی که نسبت به SQL مبتدی هستید و قصد دارید با این برنامه بیشتر آشنا شوید در سایت فرادرس فیلم آموزشی رایگانی برای استفاده شما فراهم شده است. در این فیلم آموزشی رایگان کار با پایگاه داده SQL را بر روی ادیتور آنلاین تمرین می‌کنیم.

تطابق چندگانه در عبارت CASE در SQL

اگر از عبارت CASE که نوشتیم داده‌های غیر منتظره‌ای را به عنوان خروجی دریافت کنیم، باید منطق طراحی شده را دوباره بررسی کنیم تا از بابت برداشت تطابق چندگانه کوئری مطمئن شویم. وقتی موقعیتی استثنایی پیش بیاید که بیش از یک شرط بتوانند به‌صورت هم‌زمان مقدار True را برگردانند، پایگاه داده همیشه نتیجه اولین شرطی که مقدار True بر گردانده را محاسبه می‌کند و باقی شرط‌ها را نادیده می‌گیرد.

به کد پایین توجه کنید. در این کوئری، مثالی از وضعیت بالا را شبیه‌سازی کرده‌ایم.

1select lastName, [state], income,
2CASE 
3	WHEN income > 50000 THEN 'greater than 50,000'
4	WHEN income > 100000 THEN 'greater than 100,000'
5	Else 'Income less than 50,000' 
6end incomeCategory
7from #temp_table

خروجی کوئری بالا بر روی پایگاه داده فرضی خودمان به‌صورت زیر می‌شود.

چیدمان داده‌ها بر حسب درامد در ایالتهای مختلف

در این مثال توجه کنید که چگونه هر دسته‌بندی درآمدی incomeCategory  بزرگتر از 50000$  است حتی با اینکه مقادیر درآمدی بزرگتر از 100000$  نیز وجود دارند. بنابراین اولین شرط درون عبارت CASE برای هر مقدار درآمدی برقرار خواهد بود و شرایط دیگر هرگز ارزیابی نخواهند شد. بنابراین، در این کوئری هیچ وقت خروجی با درآمد بیش از 100000$  را بدست نخواهیم آورد.

به روز رسانی رکوردها با استفاده از عبارت CASE در SQL

دستور CASE می‌تواند در کوئری‌ها همراه با عبارت‌های دیگری نیز به غیر از عبارت SELECT در SQL جای بگیرد. از این دستورات برای به‌روزرسانی داده‌ها نیز می‌توان استفاده کرد.

دختری در مقابل یک فلوچارت بزرگ بر روی دیوار ایستاده است

به مثال زیر توجه کنید. در این مثال نمونه‌ای از به‌روزرسانی داده‌ها با استفاده از دستور CASE را مشاهده می‌کنیم.

1UPDATE #temp_table
2set [state] = CASE 
3		WHEN [state] = 'Minnesota' THEN 'MN'
4		WHEN [state] = 'California' Then 'CA'
5		WHEN [state] = 'Kentucky' Then 'KY'
6	        END

خروجی کوئری بالا بر روی پایگاه داده ساخته شده در ابتدای مطلب به‌صورت زیر می‌شود.

جدول خلاصه شده اطلاعات

در زمان به‌روزرسانی رکوردها، بر اساس شرایطی که در عبارت CASE تعیین شده، مقدار مورد نظر برای به‌روزرسانی تنظیم می‌شود.

البته که می‌توانیم رکوردها را بر اساس داده‌هایی که توسط عبارت CASE فیلتر می‌شوند نیز به‌روزرسانی کنیم. برای اینکه مثالی در این باره ببینید به کوئری پیاده‌سازی شده پایین توجه کنید.

1update #temp_table
2set income = null
3WHERE (CASE 
4		WHEN [state] = 'MN' and firstname = 'Oliver' THEN 1
5		ELSE 0
6		END ) = 1 

خروجی کوئری بالا نیز بر روی پایگاه داده ساخته شده در ابتدای مطلب به‌صورت زیر می‌شود.

داده‌های شمارش شده در جدول با کمک دستور case در sql

در مثال بالا عبارت CASE هر وقت که شرط برابر با True  باشد مقدار 1 بر می‌گرداند. و ماده WHERE همه چیز را به‌جز سطرهایی که نتیجه‌شان برابر 1 باشد را فیلتر می‌کند. برای اینکه فقط آن سطرها باید به‌روزرسانی شوند.

حذف کردن رکوردها با استفاده از دستور CASE در SQL

همانطور که از دستور CASE برای به‌روزرسانی داده‌ها استفاده کردیم، می‌توانیم از این عبارت با استفاده از فیلتر کردن برای تعیین اینکه کدام رکوردها باید حذف شوند نیز استفاده کنیم.

به کوئری که در پایین پیاده‌سازی شده توجه کنید.

1DELETE FROM #temp_table 
2WHERE  (CASE 
3		WHEN [state] = 'MN' and firstname = 'Oliver' THEN 1
4		WHEN [state] = 'CA' and firstname = 'Kristen' Then 2
5		ELSE 0
6		END ) = 1 

خروجی کوئری بالا به‌صورت زیر است.

داده های گزینش شده از جدول با استفاده از دستور case در sql

بعضی وقت‌ها استفاده از عبارت CASE در بند WHERE یا بند HAVING از کوئری برای اجرای عملیات مربوط به «فیتر کردن» (Filtering) ممکن است با دردسر و مشکل همراه باشد. اما این کار در زمان‌هایی که نیاز به بررسی شرایط تو در تو داریم -برای مثال قبل از عملیات «حذف کردن» (Deleting) یا «به‌روزرسانی» (Updating) هر ردیف- می‌تواند بسیار مفید نیز باشد. قبل از طراحی هر کوئری باید به عملیاتی که قرار است انجام شود فکر کرد.

مجموعه آموزش پایگاه داده – مقدماتی تا پیشرفته

آموزش های تکمیلی مربوط به SQL

در ادامه دو مورد از فیلم‌های آموزشی تکمیلی، مربوط به کار با پایگاه داده SQL Server را معرفی کرده‌ایم. این آموزش‌ها توسط فرادرس در دو سطح مختلف مهارتی، با جزییات کامل و بهترین کیفیت ممکن ارائه شده‌اند. با بررسی و تمرین این فیلم‌های آموزشی از فرادرس، می‌توانیم مهارت‌های خودمان را تا سطح بسیار خوبی ارتقا بدهیم.

جمع بندی

در این مطلب از مجله فرادرس، سینتکس و پارامترهای عبارت CASE را بررسی کردیم. سپس چندین مثال مختلف را مطالعه کردیم، که روش دقیق استفاده از دستور CASE در SQL را نشان می‌دادند. شناخت نحوه استفاده صحیح از عبارت CASE با استفاده از تکنیک‌های چندکاره، توانایی‌مان را در کار با داده‌ها تقویت می‌کند. می‌توانیم برای هر عملیاتی مانند انتخاب کردن، وارد کردن، به‌روزرسانی یا حذف داده‌ها که بخواهیم انجام دهیم از دستور CASE در SQL استفاده کنیم. از این دستور برای ارزیابی شرایط مختلف ممکن و بر گرداندن نتیجه وابسته به هر کدام از شرط‌ها استفاده می‌شود.

دستور CASE همیشه شامل کلمات کلیدی WHEN و THEN می‌شود. اولین شرطی که برای درست بودن بررسی می‌شود بر اساس هر حکمی که بعد از کلمه کلیدی THEN آمده نتیجه را بر می‌گرداند. بعد از آن بقیه شرط‌ها نادیده گرفته می‌شوند.

استوانه‌ای بر روی مدار کامپیوتری نورانی ایستاده است

در تکمیل این مطلب از مجله فرادرس باید اشاره کنیم که برای تسلط به پایگاه‌‌های داده و مبحث SQL باید تمرین کرد. اگر که در جست‌وجوی شغلی در رشته تحلیل‌گر داده هستیم این تمرین کردن یکی از بهترین کارهایی است که می‌توان انجام داد. SQL بیش از چهل سال است که وجود دارد و در سراسر جهان به‌کار برده می‌شود و هنوز هم یکی از محبوب‌ترین زبان‌های برنامه‌نویسی در حوزه کار با داده‌ها است.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
CAREERFOUNDRY
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *