SQL高级查询:嵌套和分页

Posted 美味的你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL高级查询:嵌套和分页相关的知识,希望对你有一定的参考价值。

1.嵌套子查询

--查询最近一次oop考试没有参加考试的学生
select
StudentName from Student where StudentNo not in( select StudentNo from Result where SubjectId=( select SubjectId from Subject where SubjectName=oop ) and ExamDate=( select MAX(ExamDate) from Result where SubjectId= (select SubjectId from Subject where SubjectName=oop ) ) )

2.相关子查询

SElECT name,id,price
  FROM commodity As c
  WHERE  price>
  (
    SELECT AVG(price)
    FROM commodity AS a
    WHERE c.类编号=a.类编号
  )

 

3.分页查询

第一种:

--跳过五行取两行
select top 2 * from Student
where StudentNo not in
(
  select top 5 StudentNo from Student
  order by StudentNo
)
order by StudentNo

第二种:

--取第四行到第六行
select * from
(select *,ROW_NUMBER() over(order by StudentNo) as myid 
from Student) as temp
where myid between 4 and 6

 

以上是关于SQL高级查询:嵌套和分页的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis和elementui中的高级查询和分页

具有总记录和分页的单个 SQL 查询

如何使用过滤器和分页优化 SQL Server 查询?

sql99和sql92分别实现连接和子查询和分页查询

MySQL从入门到精通高级篇(二十八)子查询优化,排序优化,GROUP BY优化和分页查询优化

MySQL从入门到精通高级篇(二十八)子查询优化,排序优化,GROUP BY优化和分页查询优化