PostgreSQL

سرفصل دروس

عملگر UNION

مقدمه ای بر عملگر UNION  در PostgreSQL 

عملگر UNION دسته ای از نتیجه های دو یا چند دستور SELECT را بصورت یک دسته نتیجه بر می گرداند. عبارت زیر دستور زبان دستور UNION را نشان می دهد که نتیجه دو پرس و جو را با هم ترکیب می نماید: 

SELECT
 column_1,
 column_2
FROM
 tbl_name_1
UNION
SELECT
 column_1,
 column_2
FROM
 tbl_name_2;

قواعد زیر بر پرس و جوها اعمال می شود: 

  • هر دو پرس و جو باید تعداد یکسانی از ستون ها را برگردانند.
  • ستون های متناظر در پرس و جو ها باید از نوع داده سازگار با هم باشند.

دستور UNION ردیف های یکسان را حذف می نماید مگر اینکه از دستور UNION ALL استفاده نمایید. دستور UNION نتیجه رکوردهای پرس و جوی اول را ممکن است در ابتدا یا وسط و یا انتهای نتیجه رکوردهای پرس و جوی دوم قرار بدهد. برای مرتب کردن نتیجه می توانید از دستور  ORDER BY استفاده نمایید. اکثرا از UNION برای ترکیب جداول مشابه استفاده می شود. 

 

مثال UNION در PostgreSQL 

به جداول زیر توجه نمایید: 

جدول sales2007q1 :

جدول sales2007q1

جدول sales2007q2: 

جدول sales2007q2

 

برای ترکیب داده این دو جدول از دستور UNION بصورت زیر استفاده می کنیم: 

SELECT *
FROM
 sales2007q1
UNION
SELECT *
FROM
 sales2007q2;

نتیجه بصورت زیر می شود: 

ترکیب داده این دو جدول

 

مثال UNION ALL در PostgreSQL

شما در نتیجه 5 رکورد را مشاهده نمودید. دستور UNION رکوردهای مشابه را حذف می نماید. برای دریافت تمام رکوردها می توانید از دستور UNION ALL استفاده نمایید: 

SELECT *
FROM
 sales2007q1
UNION ALL
SELECT *
FROM
 sales2007q2;

دستور UNION ALL

 

مثال دستور UNION به همراه ORDER BY

برای مرتب کردن نتیجه دستور UNION می توانید از دستور ORDER BY مانند مثال زیر استفاده نمایید: 

SELECT *
FROM
 sales2007q1
UNION ALL
SELECT *
FROM
 sales2007q2
ORDER BY 
 name ASC,
 amount DESC;

دستور UNION به همراه ORDER BY

اشتراک گذاری :