20180515讲解查询加强练习03

博客主要介绍了studentdb数据库的还原操作,随后给出了一系列数据库查询需求及对应的SQL语句,包括查询学生基本信息、按性别查询、查询成绩相关信息、统计选课门数、筛选不及格学生等,涵盖多种条件和统计要求。

use master
go
restore database [studentdb] from disk=‘d:\studentdb.bak’
go

use studentdb
go

– 自己还原 studentdb 数据库,并完成以下查询

– 1所有学生的基本信息,并按学号排序
select *
from 学生
order by 学号

– 2所有女生的信息和女生的人数
select *
from 学生
where 性别=‘女’
go
select count(*) as 女生人数
from 学生
where 性别=‘女’
go

– 3所有男生的 姓名,进校时间和 通常的年龄 ,并让两个字的名字对齐三个字的名字,中间加入空格
select
case
when len(rtrim(姓名))=2 then left(姓名,1)+’ '+ right(rtrim(姓名),1)
else 姓名
end as 姓名
,进校时间
,18 as 通常的年龄
from 学生

– 4所有学生的姓名和总评成绩
select
姓名,总评成绩
from
学生 join 成绩 on 学生.学号=成绩.学号

– 5所有课程名称和总评成绩
select
课程名称,总评成绩
from
课程 join 成绩 on 课程.课程代码=成绩.课程代码

– 6所有学生的姓名,课程名称和总评成绩

– 7查询学号为 2005023029 的学生的 选课门数
select count(*) as 选课门数
from 成绩
where
学号=‘2005023029’

– 8查询学号为2005023029的学生的 学号,姓名,选课门数
select
学生.学号,姓名,count() as 选课门数
from
成绩
join 学生 on 学生.学号=成绩.学号
where
学生.学号=‘2005023029’
group by
学生.学号,姓名
–查询学生的 学号,姓名,选课门数
select
学生.学号,姓名,count(
) as 选课门数
from
成绩
join 学生 on 学生.学号=成绩.学号
– where
– 学生.学号=‘2005023029’
group by
学生.学号,姓名
– 9查询所有不及格学生的学号,姓名
select
学生.学号,姓名
from
成绩
join 学生 on 学生.学号=成绩.学号
where
考试成绩<60

– 9查询所有不及格学生的学号,姓名
select * from 学生
–去重
select distinct
学生.学号,姓名
from
成绩
join 学生 on 学生.学号=成绩.学号
where
考试成绩<60

– 10查询所 有总评成绩 有不及格成绩 的 学生的 学号,姓名,课程名称,总评成绩
select
学生.学号,姓名,课程名称,总评成绩
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
总评成绩<60

– 11查询所 有总评成绩有不及格成绩的 学生的学号,姓名,选课门数,并按选课门数多少降序排序
select
学生.学号,姓名,count(*) as 选课门数
from
学生
join 成绩 on 学生.学号=成绩.学号
– join 课程 on 成绩.课程代码=课程.课程代码
where
学生.学号
in (
select 学号 from 成绩 where 总评成绩<60
)
group by
学生.学号,姓名
order by 3 desc

– 12查询所有总评成绩有不及格成绩的学生的学号,姓名, 挂课门数 ,并按挂课门数多少降序排序
select top 10
学生.学号,姓名,count(*) as 挂课门数
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
总评成绩<60
group by
学生.学号,姓名
order by 3 desc

– --看看是哪一位神人挂科最多呀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值