Dzwebs.Net

撰写电脑技术杂文十余年

SQL查询成绩之精典语句

Admin | 2009-4-19 21:22:02 | 被阅次数 | 43817

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

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


网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231