• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

SQL - عملگر UNION

Reza

متخصص بخش اسکریپت
عملگر UNION در SQL دو یا چند عبارت SLELECT را با هم ترکیب میکند.
نکته اینکه هر عبارت SELECT داخل عملگر UNION باید حتما دارای تعداد یکسان ستون وستون ها نیز دارای اطلاعات یکسان و تعداد داده ها در هر ستون باید یکسان باشد
دستور UNION :​
SELECT column_name(s) FROM table_name1
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_USA":​
E_ID E_Name 01 Turner, Sally 02 Kent, Clark 03 Svendson, Stephen 04 Scott, Stephen

حالا ما میخواهیم اسامی تمام کارمندان در نوروژ و آمریکا را به صورت لیست در آوریم.
از عبارت SELECT به صورت زیر استفاده میکنیم.​
SELECT E_Name FROM Employees_Norway
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_Norway
UNION 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
مترجم :علیرضا مسگری​
 
بالا