union

این دستور چندین دستور select را با هم ترکیب می کند و نتیجه را در یک ستون نشان می دهد مثلا نام ها را از دو جدول برداشته در یک ستون ترکیبی نشان می دهد برای همین هم باید ستونهایی که با هم مقادیرشان یکی می شوند دارای ویژگی های زیر باشند :

 چیزی که مهم است تمام دستورات select باید دارای خروجی به تعداد یکسان باشند و همچنین نوع خروجی تمام دستورات select باید مثل هم باشند  و همچنین باید خروجی تمام select ها دارای یک نوع مرتب سازی باشند
 روش استفاده
 SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

column_name(s)

نام ستون یعنی فیلد یا ستونهایی( فیلدهایی ) که می خواهید از جدول اول یا دوم و ...  انتخاب شوند و در خروجی داده هایشان دیده شوند

 table_name1 : نام اولین جدول
  table_name2 : نام دومین جدول
 دستور union مقادیر را بصورت غیر تکراری نشان می دهد یعنی به حالت distinct پس اگر در جدول از یک داده چند تا داشته باشید مثلا چند تا نام علی داشته باشیم فقط یک علی نشان می دهد و از نمایش موارد تکراری جلوگیری می کند
 اگر می خواهید این دستور مقادیر تکراری را نیز نمایش دهد از دستور union all استفاده نمائید

 مثال

به جداول t1 , t2 نگاه کنید

 لیست دانش اموزان کلاس الف در جدول t1

id name
10 ali
11 reza

 

 

 لیست دانش اموزان کلاس ب در جدول t2

id name
12 reza
13 mohammad
14 sadeg

 حال می خواهیم اسامی دانش اموزان هر دو کلاس را در یک ستون مشاهده کنیم

 select name from t1

union

select name from t2;

 نتیجه بصورت زیر خواهد بود

name
ali
reza
mohammad
sadeg
 همانطور که مشاهده کردید مقادیر تکراری نشان داده نمی شوند
union all
توسط این دستور می توان همان عمل union را انجام داد ولی با این دستور مقایر تکراری نیز نمایش داده می شوند
همان مثال قبل را تکرار می کنیم
select name from t1

union all

select name from t2;

 
name
ali
reza
reza
mohammad
sadeg