多表连接的分页sql语句:

//原先

select top 页大小 a.aid from 表1 a  left join 表2 b on a.aid=b.aid  where a.aid not in (select top 页索引*页大小 爱的 from

表1 a  left join 表2 b on  a.aid=b.aid    where 条件) and 条件;

//优化后

with c as ( select rn=row_number() over(order by x.id),* from  (select  * from 表1 a  left join 表2 b on  a.aid=b.aid where  条件) x )

select * from c where rn between (页索引- 1) * 页大小 + 1   and  页索引*页大小

时间: 2024-10-09 21:01:17

多表连接的分页sql语句:的相关文章

将MSSQL表数据转成SQL语句

创建一个把表记录转换成SQL语句 CREATE PROC [dbo].[up_tb_tosql] @tbname varchar(200) = '',<span style="white-space:pre"> </span>--表名 @rownum varchar(10) ='1000'<span style="white-space:pre"> </span>--转换条数 as BEGIN --表名检查 IF @t

MySQL表横纵转置Sql语句

id, student, course, mark 1,  张三,    语文,  90 2,  李四,    语文,  80 3,  张三,    数学,  70 4,  李四,    数学,  80 现在想用转置表的方法转成二维表输出,要求格式是: student, 语文, 数学 张三,    90,  70 李四,    80,  80 select student,     sum(if(course='语文',mark,0)) as 语文,     sum(if(course='数学'

学生表 课程表 成绩表 教师表 50个常用sql语句[转]

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表   create table Student(S# varchar(20),Sname varchar(10),Sage int,Ssex varchar(2)) 前面加一列序号: if exists(select table_name from information_schema.tables wh

mysql5.5基础 show create table...\G 查看创建表时候用的SQL语句

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.5                     os:Windows7 x64 曾经创建表的代码 mysql> create table student( -> stuId int, -> s

010.简单查询、分组统计查询、多表连接查询(sql实例)

-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SELECT UNION --SELECT 'HAHA',1,32--UNION ALL --全部显示/显示重复数据 即使集合相同--UNION---------将查询的两个结果集合并.结构必须一致 -->常见面试题 --SELECT 'HEHE',2,33------将查询结果添加到列表中(子查询)IN

Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句

最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页  第一种分页方法 需用到的参数:  pageSize 每页显示多少条数据  pageNumber 页数 从客户端传来  totalRecouds 表中的总记录数 select count (*) from 表名  totalPages 总页数  totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/

Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题

在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp { [Key] public Guid No { get; set; } public int Age { get; set; } [Required] [StringLength(50)] public string Name { get; set; } } 如果我们进行分页的话,一般使用Skip和Take方法,这里一行最简单的代码如下: mContext.Emp.OrderBy(e

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库,安装.备份.还原等问题: 一.存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1.卸载原来的sql server 2000.2005,然后再安装sqlserver 2008,否则经常sql server服务启动不了 2.sql server服务启动失败,解决方法: 进入sql serverconfigure manager,点开 Sql server 网络配置(非sql native client 配置),点sqlzhh(

Database | 分页SQL语句

使用数据库SQL语句实现分页功能. Oracle分页语句 Oracle使用ROWNUM伪列实现分页: select * from ( select "temp".*, ROWNUM "rn" from <表/查询块> "temp" where ROWNUM <= currengPage * pageSize ) where "rn" > (currentPage-1) * pageSize curren