هشتمین جلسه دوره کوئرینویسی در SQL Server 2017 با تدریس مهندس مهدی شیشهبری با موفقیت برگزار شد.
برخی از مباحثی که در این جلسه مورد بررسی قرار گرفت عبارت است از:
1-Table Expression چیست؟
در جلسات گذشته مفاهیم Subqueryهای مستقل و وابستهای که خروجی آنها بهصورت تک مقدار یا چند مقدار و در قالب یک ستون بودند مورد بررسی قرار گرفته شد و دانشجویان دریافتند که با استفاده از آنها میتوانند علاوه بر نوشتن کوئریهای پیچیده، در اکثر موارد به کارآیی بالاتری هم دست پیدا کنند. اما یکی از مشکلات، مربوط به Subqueryهایی بود که نتایج آنها در قالب جداول بودند. این مشکل با استفاده از Table Expressionها قابل حل خواهد بود.
2- Derived Table
مفهوم Derived Table و موارد کاربرد آن به همراه چندین مثال مورد بررسی قرار گرفت و دانشجویان دریافتند که گاهی برای نوشتن یک کوئری پیچیده چگونه میتوانند بهراحتی آب خوردن از این قابلیت استفاده کرده و کوئریهایشان را پیادهسازی کنند.
3- CTE
یکی از گزینههای جایگزینِ Derived Tableها CTE یا Common Table Expression است.
4- CTE غیر بازگشتی
4- CTE به دو دسته غیر بازگشتی و بازگشتی تقسیم میشوند. با استفاده از CTE غیربازگشتی، میتوان نقاط ضعف Derived Table را برطرف کرد.
5- CTE بازگشتی
5- با استفاده از CTEهای بازگشتی میتوان انواع ساختارهای درختی و سلسه مراتبی را با روشی بسیار ساده و بهصورت بازگشتی پیادهسازی کرد. در این جلسه قبل از بررسی این مفهوم، ابتدا مسئلهای بازگشتی به روش رایجِ میان برنامهنویسان و توسعه دهندهگان پیادهسازی شد اما در ادامه دانشجویان متوجه شدند که با استفاده از قابلیت CTE بازگشتی تا چد حد کارها سادهتر خواهد شد.


همچنین الزامات سهگانه در خصوص استفاده از تمامی Table Expressionها نیز مورد بررسی قرار گرفت.
در حین کلاس و همچنین در بخش پایانی، تمرینات مختلفی ارائه شد و دانشجویان نحوه پیادهسازی آنها را با استفاده از این دو مفهوم بهکار گرفتند.
در جلسه بعد مفاهیم VIEW و Inline TVF مورد بررسی قرار خواهد گرفت.
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی آموزش کوئری نویسی در SQL Server مراجعه کنید.