Loading…

جزیره بانک های اطلاعاتی

ارسال کننده: حسین احمدی
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
ارسال پیام خصوصی
امتیازات این مطلب
نکته: تفاوت میان UNION و UNION ALL در SQL Server
زمانی که شما قصد دارید در 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
دیدگاه ها

هیچ دیدگاهی برای این مطلب ارسال نشده است

برای ارسال نظر وارد شوید.

Countdown