表结构相同,分表后如何查询所有表的数据?可以使用union关键字

select * from table1 where type=1 union
select * from table1 where type=1 union
select * from table3 where type=1 union
select * from tablen where type=1

上述代码是对每个分表进行过滤后再连接。当然也可以先连接,再过滤数据:

select * from (
    select * from table1 union
    select * from table1 union
    select * from table3 union
    select * from tablen 
) t
where t.type=1
order by t.id desc

需要注意的是,对于排序和分组,只能在外部进行,不能在使用union的同时使用。

就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !