什么是 union 查询?
union 查询就是把 2 条或者多条 sql 的查询结果,合并成 1 个结果集。
sqlOne 返回 N 行。
sqlTwo 返回 M 行。
sqlOne union sqlTwo , 返回 N + M 行。
复制代码
union 查询的前提条件:
使用 union 联合查询的各条 sql 语句查询出的列数必须相同。
eg:
select uid, name, age from user
union
select id, name, sex from tmp;
复制代码
其他特征:
1. 列名可以不同,查询出的结果列名称以第一条 sql 的列名称为准。
2. 完全相等的行,将会被合并。(使用 "union all" 代替 union 可以避免合并)。
3. union 的子句中,不用写 order by. sql 合并后得到的总的结果,可以 order by, 子句的 order by 失去意义。
复制代码