原理:先對主表進行了分頁查詢,然後再進行關聯查詢(下面用mysql舉例)
重點部分是(select * from user limit 0,2) u ,其實這句就是對主表先進行了一次分頁查詢,并查出所有資料,那麼接下來的關聯查詢,就會在這個主表查詢出來的結果裡進行了
SELECT
u.id,
u.login_name,
u.remark,
r.id AS role_id,
r.role_name,
r.app_id,
r.web_page_ids,
r.remark AS roleRemark,
f.id AS function_id,
f.function_name,
f.function_icon,
f.url,
f.remark AS functionRemark
FROM
(select * from user limit 0,2) u
LEFT JOIN user_role ur ON u.id = ur.user_id
LEFT JOIN role r ON ur.role_id = r.id
LEFT JOIN user_function uf ON u.id = uf.user_id
LEFT JOIN FUNCTION f ON uf.function_id = f.id
下面這出一張效果圖,隻查詢出了前面兩個使用者,而前面查出來的16條資料,都是屬于使用者1的。