پاسخ به:آموزش SQL
دوشنبه 10 آذر 1393 9:20 PMآموزش SQL-عبارت Union
عملگر UNION دو یا چند دستور SELECT را با یکدیگر ترکیب می کند.
عملگر UNION
Wiki
عملگر UNION برای ترکیب نتایج دو یا چند دستور SELECT استفاده می شود.
توجه داشته باشید که هر دستور SELECT در عملگر UNION باید تعداد ستونهای یکسانی را برگردانند. همچنین ستونها باید Data Type یکسانی داشته باشند. علاوه بر این ستونها در هر دستور SELECT باید به یک صورت مرتب شده باشند. (Order By)
فرم عملگر UNION:
UNION
SELECT column_name(s) FROM table_name2
فرم عملگر UNION ALL:
UNION ALL
SELECT column_name(s) FROM table_name2
نام ستون ها در جدول نتایج همیشه برابر نام ستونها در دستور SELECT اول در عملگر UNION می باشد.
مثال:
Wiki
به جداول زیر نگاه کنید:
1- جدول کارمندان نروژی:
| E_ID | E_Name |
|---|---|
| 01 | Hansen, Ola |
| 02 | Svendson, Tove |
| 03 | Svendson, Stephen |
| 04 | Pettersen, Kari |
2- جدول کارمندان آمریکایی:
| E_ID | E_Name |
|---|---|
| 01 | Turner, Sally |
| 02 | Kent, Clark |
| 03 | Svendson, Stephen |
| 04 | Scott, Stephen |
می خواهیم لیست اسامی کارمندان امریکایی و نروژی را به صورت متمایز ( بدون تکرار) داشته باشیم.
از دستور زیر استفاده می کنیم:
UNION
SELECT E_Name FROM Employees_USA
جدول نتایج به شکل زیر خواهد بود:
| E_Name |
|---|
| Hansen, Ola |
| Svendson, Tove |
| Svendson, Stephen |
| Pettersen, Kari |
| Turner, Sally |
| Kent, Clark |
| Scott, Stephen |
مثال:
Wiki
حال می خواهیم تمامی کارمندان آمریکایی و نروژی را لیست کنیم از دستور زیر استفاده می کنیم:
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 |