教学思路SQL之入门习题《学员成绩》 二、基础单表查询

根据查询要求,写出SQL脚本:
 
1、     查询学生信息表,查找学生的姓名,性别,并将查询结果按姓名进行排序。
  2、查询学生信息表,查找地区在大连的学生,显示其姓名,联系电话,地区。
3、     查询学生信息表,查找性别为女,并且地区不在 大连的学生,显示其姓名,年龄及联系电话,地区。
4、     练习通过 as 对字 段进行重命名,实现两列合并显示,如外国人名中姓 + 的正常显示。  
5、     查询学生信息表,查找地区为空 的学生的姓名,性别,联系电话。
6、     查询成绩表,查找课程编号为 2 的成绩最好的 2 名学生的编号。
7、 查询学生信息表,查找学生来自于哪些地区,显示地区时不重复
8、     查询学生信息表,查找姓李的学生的姓名,性别,联系电话,地区。
9、    查询学生信息表,查找学生姓名中,第二个字符为“大”的学生的姓名,性别,联系电话,地区。
10、查询学生信息表,查找地区为空的学生的姓名,性别,联系电话,地区。
11、  查询成绩表,查找课程编号为 2 的课程,显示此门课程成绩在60――70分之间 的学生编号。
12、查询学生信息表,地区中包含0-4的值的字段。
13、查询学生信息表,查找地区在大连、鞍山的学生姓名,联系电话。
14、 查询学生信息表,查找学生姓名中,第二个字符不为“大”的学生的姓名,性别,联系电话,地区。
15、 查询成绩表,查找课程编号为1的课程的平均成绩。
16、 查询成绩表,显示课程编号为 2 的课程的最高分,最低分。
17、查询成绩表,利用count函数查找课程编号为2的课程及格的人数
18、 查询成绩表,显示每门课程的平均成绩。
19、查询成绩表,显示每个人的总成绩。
20、查询成绩表,利用group byhaving,显示总成绩超过100分的学生的编号。
21、     查询学生的注册日期,要求只显示年月日即可,无需时间。
22、     将编号为 2 的成绩乘与 %5 后再加 10 分做为加权分数列升序输出。
23、     查询成绩表,按照成绩及学号进行升序排序,成绩比学号的排列优先级要高。
 
1、        查询学生信息表,查找学生的姓名,性别,并将查询结果按姓名进行排序。 
select name,sex    from student order by name desc 
2、        查询学生信息表,查找地区在大连的学生,显示其姓名,联系电话,地区。 
select name,lianxidianhua,diqu from student where diqu='大连' 
3、        查询学生信息表,查找性别为女,并且地区不在大连的学生,显示其姓名,年龄及联系电话,地区。 
select name,diqu from student where sex='        女' and diqu <>'大连' 
4、        练习通过as对字段进行重命名,实现两列合并显示,如外国人名中姓+名的正常显示。 
select name+diqu as 姓名和地区from student 
5、        查询学生信息表,查找地区为空的学生的姓名,性别,联系电话。 
select xingming,sex from student where diqu=NULL 
6、        查询成绩表,查找课程编号为2的成绩最好的2名学生的编号。 
select top 2 number from chengji where scorenumber=2 order by score desc 
7、        查询学生信息表,查找学生来自于哪些地区,显示地区时不重复。 
select DISTINCT diqu from student 
8、        查询学生信息表,查找姓李的学生的姓名,性别,联系电话,地区。 
select name,sex,lianxidianhua,diqu from student where name like '李%' 
9、        查询学生信息表,查找学生姓名中,第二个字符为“大”的学生的姓名,性别,联系电话,地区。 
select name,sex,lianxidianhua,diqu from student where name like '_大%' 
10、        查询学生信息表,查找地区为空的学生的姓名,性别,联系电话,地区。体会is null与长度为0的字符串’ ’ 之间的区别。 
select name,sex,lianxidianhua,diqu from student where diqu is null 
11、        查询成绩表,查找课程编号为2的课程,显示此门课程成绩在60――70分之间的学生编号。 
select number from chengji where score between 60 and 70 and scorenumber=2 
12、        查询学生信息表,地区中包含0-4的值的字段。 
select    diqu from student where diqu like '%[0-4]%' 
13、        查询学生信息表,查找地区在大连、鞍山的学生姓名,联系电话。 
?        select    name,lianxidianhua from student where diqu ='大连' or diqu='鞍山' 
?        select    name,lianxidianhua from student where diqu in('大连','鞍山') 
14、        查询学生信息表,查找学生姓名中,第二个字符不为“大”的学生的姓名,性别,联系电话,地区。 
select name,sex,lianxidianhua,diqu from student where diqu like '_[^大]%' 
15、        查询成绩表,查找课程编号为1的课程的平均成绩。 
select AVG(score) as 平均成绩from chengji where scorenumber=1 
16、        查询成绩表,显示课程编号为2的课程的最高分,最低分。 
select Max(score) as 最高分,min(score) as 最低分from chengji where scorenumber=1 
17、        查询成绩表,利用count函数查找课程编号为2的课程及格的人数。 
select count(*) as 及格人数from chengji where scorenumber=2 and score>=60 
18、        查询成绩表,显示每门课程的平均成绩。 
select avg(score) as 平均分,scorenumber from chengji group by scorenumber    
19、        查询成绩表,显示每个人的总成绩。 
select sum(score) as 总分,number from chengji group by number 
20、        查询成绩表,利用group by及having,显示总成绩超过100分的学生的编号。 
select number from chengji    group by number having sum(score)>100 
21、        查询出所有参加考试的学生的平均分,显示要求:如58分。 
select number,convert(char(4),avg( score))+'分' from chengji group by number,scorenumber 
cast (avg(score) as char(4)) 
22、        查询学生的注册日期,要求只显示年月日即可,无需时间。 
Select number,name,sex,age,convert(char(10),datetime,120) 
,diqu,lianxidianhua from student 
23、        将编号为2的成绩乘与%5后再加10分做为加权分数列升序输出。 
SELECT number As 学员编号,(Score*0.9+10) As 加权成绩    FROM chengji where scorenumber=2    ORDER BY Score(默认省略asc升序) 
24、        查询成绩表,按照成绩及学号进行升序排序,成绩比学号的排列优先级要高。 
select scorenumber as 科目,number as 学号,SUM(score) as 总分 from chengji     group by number,scorenumber order by sum(score) desc ,number desc
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185782如需转载请自行联系原作者

叶子文文
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值