SQL Server 基础练习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 基础练习题及答案
【幻天火焰】
目录
一、单表查询练习 (1)
二、聚合函数练习 (3)
三、分组查询练习 (3)
四、嵌套查询练习 (4)
五、联接查询练习 (6)
六、外联接查询 (7)
七、补充提高 (7)
一、单表查询练习
1、查询<学生信息表>,查询学生"张三"的全部基本信息
Select *
from A_studentinfo
where sname='张三'
2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息
Select *
from A_studentinfo
where sname='张三'
or sname='李四'
3、查询<学生信息表>,查询姓"张"学生的基本信息
Select *
from A_studentinfo
where sname like '张%'
4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息
Select *
from A_studentinfo
where sname like '%四%'
5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。
select *
from A_studentinfo
where sname like '李_强'
6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。
Select *
from A_studentinfo
where sname like '张%'
or sname like '李%'
7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息
Select *
from A_studentinfo
where sname like '张%'
and province='北京'
8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息
Select *
from A_studentinfo
where province in ('北京','上海','新疆','山东')
9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息
Select *
from A_studentinfo
where sname like '张%'
and province !='北京'
10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序
select *
from A_studentinfo
order by sex,province,class
11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份
select distinct province as 省份
from A_studentinfo
12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩
Select *
from A_studentcourse
where score is null
13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序
Select *
from A_studentcourse
where score is not null
order by score desc
二、聚合函数练习
1、统计<学生信息表>,统计共有多少个学生
Select count (*) as 学生数量
from A_studentinfo
2、统计<学生信息表>,统计年龄大于20岁的学生有多少个
Select count(*) as 学生数量
from A_studentinfo
where (2008-yearofbirth)>20
3、统计<学生信息表>,统计入学时间在1980年至1982年的学生人数select count(*) as 学生数量
from A_studentinfo
where enrollment between '1998-01-01' and '2003-12-30'
对比以下查询方式,看看有何不同,为什么?
select count(*) as 学生数量
from A_studentinfo
where enrollment between '1998' and '2003'
4、统计<学生选修信息表>,统计学号为"S001"的学生的平均成绩Select avg(score) as 平均成绩
from A_studentcourse
where sno='S001'
5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩select sum(score) as 总成绩
from A_studentcourse
where sno ='S001'
6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩select max(score) as 最高成绩
from A_studentcourse
where cno='C001'
7、统计<学生信息表>,查询所有学生中的最大年龄是多少
select 2009-min(yearofbirth) as 最大年龄
from A_studentinfo
三、分组查询练习
1、统计<学生选修信息表>,统计每个课程的选修人数
select cno,count(*) as 学生数量
from A_studentcourse
group by cno