mysql关联表分页查询
时间: 2023-09-09 20:10:18 浏览: 102
MongoDB多表关联查询操作实例详解
5星 · 资源好评率100%
要在 MySQL 中进行关联表分页查询,可以使用子查询或者联合查询。
假设我们有两个表,一个是文章表 articles,另一个是文章评论表 comments。它们之间的关联是 articles.id = comments.article_id。
子查询分页查询:
```
SELECT articles.id, articles.title, comments.content
FROM articles
LEFT JOIN (
SELECT *
FROM comments
ORDER BY id DESC
LIMIT 0, 10
) AS comments ON articles.id = comments.article_id
ORDER BY articles.id DESC
LIMIT 0, 10;
```
这个查询中,我们先对 comments 表进行子查询,取出最新的 10 条评论,然后再和 articles 表进行联接查询。最后再对结果进行分页,取出第 1 页的 10 条记录。
联合查询分页查询:
```
SELECT articles.id, articles.title, comments.content
FROM articles
LEFT JOIN comments ON articles.id = comments.article_id
ORDER BY articles.id DESC, comments.id DESC
LIMIT 0, 10;
```
这个查询中,我们直接对 articles 和 comments 表进行联合查询,并且按照文章 ID 和评论 ID 的倒序排列。最后再对结果进行分页,取出第 1 页的 10 条记录。
这两种方式都可以实现关联表的分页查询,选择哪种方式取决于具体的业务场景和性能要求。
阅读全文