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