union:对多个结果集(select语句)进行并集操作,不包括重复行,同时进行排序。
union all:对多个结果集(select语句)进行并集操作,包括重复行,不进行排序。
内部的select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时每条select语句的列的顺序必须相同。
select A.*
from
(
SELECT 1 flag,t.id,t.name,t.status,t.task_type,u.nickname,t.create_time,t.end_time,t.start_time,t.creator
from camas_survey_task t,system_user u
where t.status = 3 and t.deleted = 0 and t.creator = u.id
union all
select 2 flag,mr.id,mr.name,mr.status,-1 task_type,u.nickname,mr.create_time,mr.end_time,mr.start_time,mr.creator
from camas_survey_monitor_rule mr,system_user u
where mr.status = 3 and mr.deleted = 0 and mr.creator = u.id
)A
order by A.start_time asc