联合查询的关键字是union,连接查询的关键字是join,而在MySQL手册中,join常常被翻译成"联合查询",但绝大多数书籍和文章中,join被翻译为"连接查询",我们以书籍为准,只是翻译问题,大家注意一下。和连接查询相比,连接查询是多个表的横向组合,而联合查询则是纵向组合。
语法形式如下:
select 语句1
union [ALL|DISTINCT]
select 语句2;
说明:
- 两个select语句的结果字段数目一样,且类型一样才有意义。
- 结果集中的字段以第一个select语句的字段为准。
- 第一个select语句的字段可以做别名,但如果做别名,则后续的where,group,order等字句应该用该别名。
- 联合查询默认消除重复项(DISTINCT),不消除必须添加ALL关键字。
- 如果要对整个联合结果进行排序,则应该对各自的select语句加括号。
(select * from jointable1)
union
(select * from jointable2)
order by f1
limit 0,4;