UNION

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Oct 24, 2020

تنظیم عملکرد

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

برای انجام این کار ، از عملگرهای UNION و UNION ALL استفاده کنید.

UNION چندین مجموعه داده را در یک مجموعه داده واحد ترکیب می کند و همه موارد تکراری موجود را حذف می کند.
UNION ALL چندین مجموعه داده را در یک مجموعه داده ترکیب می کند ، اما ردیف های تکراری را حذف نمی کند.
نکته: UNION ALL سریعتر از UNION است ، زیرا عملیات حذف نسخه تکراری را روی مجموعه داده انجام نمی دهد.

UNION

عملگر UNION برای ترکیب مجموعه نتایج دو یا چند عبارت SELECT استفاده می شود.

تمام عبارات SELECT در UNION باید تعداد ستون های یکسانی داشته باشند. ستون ها نیز باید انواع داده یکسانی داشته باشند. همچنین ستون ها در هر عبارت SELECT باید به همان ترتیب باشند.
نحو UNION به شرح زیر است:

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

این اولین جدول از دو جدول است:

و این دومین جدول است:

SELECT ID, FirstName, LastName, City FROM First
UNION
SELECT ID, FirstName, LastName, City FROM Second;

جدول بدست آمده مانند این جدول خواهد بود:

نکته: همانطور که مشاهده می کنید ، موارد تکراری حذف شده است.

راهنمایی:
اگر ستون های شما دقیقاً در تمام س quالات مطابقت ندارند ، می توانید از یک مقدار NULL (یا هر مقدار دیگر) استفاده کنید مانند:

SELECT FirstName, LastName, Company FROM businessContacts
UNION
SELECT FirstName, LastName, NULL FROM otherContacts;

نکته: عملگر UNION برای ترکیب مجموعه نتایج دو یا چند عبارت SELECT استفاده می شود.

UNION ALL

UNION ALL همه ردیف ها را از هر جدول انتخاب می کند و آنها را در یک جدول واحد ترکیب می کند.

دستور SQL زیر از UNION ALL برای انتخاب داده ها از جداول اول و دوم استفاده می کند:

SELECT ID, FirstName, LastName, City FROM First
UNION ALL
SELECT ID, FirstName, LastName, City FROM Second;

خروجی:

نکته: همانطور که مشاهده می کنید ، مجموعه نتایج شامل ردیف های تکراری نیز می باشد.

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه