UNION دستور
- دستور UNION وظیفه دارد نتیجه دو یا چند SELECT را با یکدیگر ادغام کند.
- هنگام استفاده از این دستور دقت کنید باید ستون هایی که قرار است با یکدیگر ادغام شوند هم نوعشان یکی باشد هم تعداد ستون ها برابر باشد.
- UNION به صورت پیش فرض وظیفه ادغام مقادیر منحصر به فرد را دارد ولی اگر میخواهید مقادیر تکراری هم در نتیجه وجود داشته باشند از دستور UNION ALL استفاده کنید.
- نحوه استفاده از دستور UNION:
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2 WHERE Conditions
- مثال:
در مثال زیر نام شهرهای موجود در جدول Customers و Sellers واکشی شده و در یک ستون به صورت مرتب شده صعودی چاپ میشوند.
SELECT City FROM Customers UNION SELECT City FROM Sellers ORDER BY City
جدول Customers
CustomerName | City | CustomerID |
---|---|---|
Maryam | Tehran | 1000587 |
Ali | Karaj | 1000897 |
Reza | Tabriz | 1005465 |
Aida | Tehran | 1001849 |
Fatemeh | Isfahan | 1000654 |
Mahdi | Tehran | 1006588 |
جدول Sellers
SellerName | City | SellerID |
---|---|---|
Fatemeh | Shiraz | 1000587 |
Ali | Tehran | 1000897 |
Reza | Hamedan | 1005465 |
Ali | Kerman | 1001849 |
Mahdi | Isfahan | 1000654 |
Milad | Tehran | 1006588 |
نتیجه کد:
City |
---|
Hamedan |
Isfahan |
Karaj |
Kerman |
Shiraz |
Tabriz |
Tehran |
مثال:
در این مثال به دلیل استفاده از UNION ALL نام شهرها حتی اگر تکراری باشند چاپ میشود.
SELECT City FROM Customers UNION ALL SELECT City FROM Suppliers ORDER BY City
نتیجه کد:
City |
---|
Hamedan |
Hamedan |
Isfahan |
Isfahan |
Karaj |
Kerman |
Kerman |
Shiraz |
Shiraz |
Tabriz |
Tehran |
Tehran |
Tehran |