SQL UNION اور UNION ALL عملگر

SQL UNION عملگر

UNION عملگر دو یا کثیر سلیکٹ جملات کے نتائج کا مجموعہ منجمل کریں گا.

لحظ دقت کریں،UNION داخلی SELECT جملات می بایست تعداد ستون مشابهی کا داریں. ستون بھی مشابه نوعیت کا داریں چاہئیں. نیز، ہر SELECT جملے میں ستون کا ترتیب مشابه ہونا چاہئیں.

قانون SQL UNION

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

توجه:به طور پیش‌فرض، عملگر UNION مقادیر متفاوت را انتخاب می‌کند. اگر مقادیر تکراری مجاز باشد، از UNION ALL استفاده کنید.

قانون SQL UNION ALL

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

علاوه بر این، نام ستون‌های درون مجموعه نتایج UNION همیشه برابر با نام ستون‌های اولین دستور SELECT در UNION است.

در مثال‌های زیر از جدول‌های اصلی استفاده شده است:

Employees_China:

E_ID E_Name
01 زنگ، هوا
02 وانگ، وای
03 کارتر، توماس
04 یانگ، مینگ

Employees_USA:

E_ID E_Name
01 ادامز، جان
02 بوش، جورج
03 کارتر، توماس
04 گیتس، بیل

استفاده از دستور UNION

مثال:

لیست تمام کارکنان متفاوت در چین و ایالات متحده را نمایش می‌دهد:

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

نتایج

E_Name
زنگ، هوا
وانگ، وای
کارتر، توماس
یانگ، مینگ
ادامز، جان
بوش، جورج
گیتس، بیل

توجه:این دستور نمی‌تواند تمام کارکنان در چین و ایالات متحده را نمایش دهد. در مثال بالا، دو کارمند با نام مشابه وجود دارند و تنها یکی از آن‌ها نمایش داده شده است. دستور UNION فقط مقادیر متفاوت را انتخاب می‌کند.

UNION ALL

دستور UNION ALL و دستور UNION تقریباً مشابه هستند، اما دستور UNION ALL تمام مقادیر را نمایش می‌دهد.

SQL Statement 1
UNION ALL
SQL Statement 2

استفاده از دستور UNION ALL

مثال:

لیست تمام کارکنان در چین و ایالات متحده را نمایش می‌دهد:

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

نتایج

E_Name
زنگ، هوا
وانگ، وای
کارتر، توماس
یانگ، مینگ
ادامز، جان
بوش، جورج
کارتر، توماس
گیتس، بیل