Sql数据查询之精典应用实例:

假如存在如下的数据表,下面我们一起来学习几个比较常用的精典的查询方法。

自动编号

学号

姓名

课程编号

课程名称

分数

1

23

王三

003

语文

77

2

24

李四

004

数学

88

3

26

张五

003

语文

78

4

24

李四

004

数学

88

5

26

张五

006

英语

100

………….

①查询英语成绩从第7名到第10名的学生信息

指导思想:选出英语成绩前10名的同学按照降序排列,然后显示前四条记录。

1、显示课程名称是英语的学生记录

Select * from 学生表 where(课程名称=’英语’);

2、以分数对学生记录进行降序排列,显示前十名

Select top 10 * from 学生表 order by 分数 desc

Select top 10 * from(select * from 学生表 where(课程名称=’英语’)) as 学生表 order by 分数 desc

3、显示英语成绩从 第7名到第10名的学生信息

Select top 4 * from  (Select top 10 * from (select * from 学生表 where(课程名称=’英语’)) as 学生表

order by 分数 desc) as 学生表 order by 自动编号

②查询所有语文和数学的成绩都在前10名的学生信息

1、筛选课程名称为语文的学生信息

Select * from 学生表 where(课程名称=’语文’)

2、显示语文成绩在前10名的学生信息

Select top 10 * from (select * from 学生表 where(课程名称=’语文’)) as 学生表

3、显示数学成绩在前10名的学生信息

Select top 10 * from (select * from 学生表 where(课程名称=’数学’)) as 学生表

4、查询所有语文和数学的成绩都在前10名的学生信息

Select * from  (Select top 10 * from (select * from 学生表 where(课程名称=’语文’)) as 学生表) as a

inner join (Select top 10 * from (select * from 学生表 where(课程名称=’数学’)) as 学生表) as b

On a.自动编号=b.自动编号


版权声明:本文为weixin_30340109原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_30340109/article/details/113459714