عملگر UNION در SQL دو یا چند عبارت SLELECT را با هم ترکیب میکند.
نکته اینکه هر عبارت SELECT داخل عملگر UNION باید حتما دارای تعداد یکسان ستون وستون ها نیز دارای اطلاعات یکسان و تعداد داده ها در هر ستون باید یکسان باشد
دستور UNION :
SELECT column_name(s) FROM table_name1نکته اینکه هر عبارت SELECT داخل عملگر UNION باید حتما دارای تعداد یکسان ستون وستون ها نیز دارای اطلاعات یکسان و تعداد داده ها در هر ستون باید یکسان باشد
دستور UNION :
UNION
SELECT column_name(s) FROM table_name2
مثال از UNION :
جدول "Employees_Norway":
E_ID E_Name 01 Hansen, Ola 02 Svendson, Tove 03 Svendson, Stephen 04 Pettersen, Kari جدول "Employees_Norway":
جدول "Employees_USA":
E_ID E_Name 01 Turner, Sally 02 Kent, Clark 03 Svendson, Stephen 04 Scott, Stephen حالا ما میخواهیم اسامی تمام کارمندان در نوروژ و آمریکا را به صورت لیست در آوریم.
از عبارت SELECT به صورت زیر استفاده میکنیم.
UNION
SELECT E_Name FROM Employees_USA
و نتیجه مانند جدول زیر میشود.
E_Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari Turner, Sally Kent, Clark Scott, Stephen نکته :توجه کنید که این دستور نمیتواند تمام کارمندان را درنوروژ و آمریکا به صورت لیست در آورد همانطور که مشاهده میکنید ما در دو جدول بالا دو کارمند با نام های یکسان داریم اما هنگام لیست شدن فقط نام یکی از آنها نوشته شد این بدان معناست که عملگر UNION به صورت(DISTINCT) عمل میکند .(برای درک بهتر به قسمت DISTINCTدر بخش SQL مراجعه کنید)
حال برای رفع این مشکل باید از دستور زیر استفاده کنیم
SELECT E_Name FROM Employees_NorwayUNION ALL
SELECT E_Name FROM Employees_USA
در این صورت ما لیست افراد حتی با نام های یکسان را دارا میباشیم
E_Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari Turner, Sally Kent, Clark Svendson, Stephen Scott, Stephen مترجم :علیرضا مسگری