在
mysql
union 中使用 limit 用于限制返回的记录条数,如果对 select 子句做限制,需要对 select 添加圆括号:
该 SQL 会返回个 SELECT 语句的两条记录,如果不添加圆括号,则最后一个 LIMIT 2 会作用于整个 UNION 语句而一共返回 2 条记录。
同 ORDER BY 类似,当需要对整个 UNION 的结果进行 LIMIT 限制时,建议将各个 SELECT 语句用圆括号括起来以使语句更加清晰:
MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载
可见,LIMIT 与 ORDER BY 经常搭配使用,二者在 UNION 中的使用方式也是一致的。
(SELECT aid,title FROM article LIMIT 2)
UNION ALL
(SELECT bid,title FROM blog LIMIT 2)(SELECT aid,title FROM article)
UNION ALL
(SELECT bid,title FROM blog)
LIMIT 2