ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle和MySQL多表条件分页查询的高效SQL语句

2021-01-27 14:03:21  阅读:202  来源: 互联网

标签:salary 多表 -- SQL limit user MySQL id select


 Oracle数据库分页查询:

利用rownum和between and关键字

-- 查询员工表和薪水表的分页sql(pageNo:页号从1开始,pageSize:每页大小)
select
	* 
from(
	select
		ROWNUM rNo,
		user_id,
		user_name,
		user_dept,
		user_salary 
	from(
		select
			info.user_name,
			salary.* 
		from
			zdy_userinfo info,
			zdy_salary salary 
		where
			info.user_id = salary.user_id 
		order by
			info.user_id 
	) 
	where ROWNUM <= pageSize * pageNo 
	order by ROWNUM asc
) 
where 
	rNo between pageSize * (pageNo - 1) + 1 and pageSize * pageNo;

 

 MySQL数据库分页查询:

利用两个limit关键字(单表)

-- 查询第2页的数据(假设每页10条)
select
	* 
from
	t_course as t_cou
where 
	t_cou.id >= (
		-- 第11条数据的id
		select 
			id
		from
			t_course as t_cou2
		order by t_cou2.id limit 10, 1
        -- order by t_cou2.id limit pageSize * (pageNo - 1), 1
	)
order by id limit 10;
-- order by id limit pageSize;

 

标签:salary,多表,--,SQL,limit,user,MySQL,id,select
来源: https://blog.csdn.net/xfwdxt/article/details/113246039

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有