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.自动编号