آموزش SQL Server

آموزش SQL Server ۸: زیرکوئری و CTE

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

نمونه زیرکوئری

در این مثال ابتدا میانگین قیمت محاسبه می‌شود و سپس محصولات گران‌تر از میانگین نمایش داده می‌شوند.

نمونه CTE

CTE فقط برای همان دستور بلافاصله بعد از تعریف در دسترس است و به‌خودی‌خود نتیجه را به‌صورت دائمی ذخیره نمی‌کند.

کدام روش مناسب‌تر است؟

برای شرط‌های ساده زیرکوئری مناسب است. وقتی چند مرحله محاسبه دارید یا می‌خواهید منطق کوئری را نام‌گذاری کنید، CTE معمولاً خواناتر است. برای کارایی، هر دو روش را با داده واقعی و Execution Plan ارزیابی کنید.

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

نوشته های مشابه

دکمه بازگشت به بالا