درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من

تفاوت میان UNION و UNION ALL در SQL Server

0 نظرات
زمانی که شما قصد دارید در SQL Server نتایج کوئری دو جدول را با همدیگر ادغام کنید از عبارت UNION استفاده می کنید، عبارت UNION کاری که می کند نتایج دو کوئری را گرفته و تحت یک خروجی به شما نمایش می دهد، موضوع مهم در UNION این است که ستون ها و نوع های ستون های خروجی دو کوئری می بایست با یکدیگر یکسان باشند:

SELECT FirstName, LastName, Email FROM Customers
UNION
SELECT FirstName, LastName, Email FROM EMployees

اما UNION در این بین یک کار اضافی برای شما انجام می دهد، فرض کنید دو رکورد یکسان در دو جدول داریم، یعنی نام، نام خانوادگی و آدرس ایمیل دو نفر در لیست Customers و Employees با هم یکسان است، کاری که UNION می کند DISTINCT مقادیر را بر میگرداند، یعنی اطلاعات یک نفر از دو جدول برگردانده می شود، برای رفع این مشکل می توان از UNION ALL استفاده کرد، نحوه استفاده از UNION ALL دقیقاً مشابه UNION است، با این تفاوت که عملیات DISTINCT بر روی خروجی اعمال نمی شود، به همین دلیل Performance کوئری هایی که با UNION ALL نوشته می شود بیشتر است:

SELECT FirstName, LastName, Email FROM Customers
UNION ALL
SELECT FirstName, LastName, Email FROM EMployees

در کوئری بالا، در صورت وجود مقادیر تکراری، رکورد های تکراری در خروجی نمایش داده می شوند.

نویسنده: حسین احمدی
منبع: ITpro
نظرات
هیچ نظری ارسال نشده است

برای ارسال نظر ابتدا به سایت وارد شوید

arrow