mysql 合并查询 UNION

 

语法

SELECT expression1, expression2, ... expression_n FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n FROM tables
[WHERE conditions];

参数说明

  • expression1, expression2, ... expression_n: 要检索的列。

  • tables: 要检索的数据表。

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据。

实例演示

一个登录日志表  按年分表 log_2018 log_2019 log_2020

日志表字段 id name(登录人名字) ip(ip地址) desc (登录说明)delFlag(删除状态)  at(登录时间)

 

查询2018-2020年所有的日志

select id,name,ip,desc,delFlag,at from log_2020
union all
select id,name,ip,desc,delFlag,at from log_2019 
union all
select id,name,ip,desc,delFlag,at from log_2018 
where delFlag = 0 order by at desc

 

posted @ 2020-07-31 10:15  荣超  阅读(1156)  评论(0编辑  收藏  举报