SQL查询习题Word文档格式.docx
- 文档编号:5910266
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:13
- 大小:50.31KB
SQL查询习题Word文档格式.docx
《SQL查询习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《SQL查询习题Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
四"
字的学生的基本信息
%四%'
5、查询<
,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。
李_强'
6、查询<
或者姓”李”的学生的基本信息。
李%'
7、查询<
并且"
所属省份"
是"
北京"
的学生信息
andjg='
北京'
8、查询<
,查询"
、”新疆”、”山东”或者"
上海"
的学生的信息
orderbyxb,jg,bj
11、查询<
,查询现有学生都来自于哪些不同的省份
selectdistinctjg
12、查询<
学生选修信息表>
,查询没有填写成绩的学生的学号、课程号和成绩
selectxh,kch,cj
fromcjb
wherecjisnull
13、查询<
,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序
wherecjisnotnull
orderbycjdesc
14、找出两个姓张的同学信息,只显示对应学生的姓名,性别和班级
Selecttop2xm,xb,bj
Fromxsb
Wherexmlike'
二、聚合函数练习
1、统计<
,统计共有多少个学生
selectcount(*)
2、统计<
,统计年龄大于20岁的学生有多少个
wherenl>
='
20'
or
whereyear(getdate())-year(csrq)>
20
3、统计<
,统计入学时间在1998年至2000年的学生人数
whererxrq>
1998-1-1'
andrxrq<
2000-12-31'
whererxrqbetween‘1998-1-1’and‘2000-12-31’
4、统计<
,统计学号为"
S001"
的学生的平均成绩
selectAVG(cj)
wherexh='
1'
OR
selectCONVERT(DECIMAL(18,2),AVG(cj))||保留小数点两位
5、统计<
的学生的总成绩
selectsum(cj)
6、统计<
,查询课程号为”C001”的课程的最高成绩
selectmax(cj)
wherekch='
23'
7、统计<
,查询所有学生中的最大年龄是多少
selectmax(nl)
三、分组查询练习
,统计每个课程的选修人数
selectkch,count(*)
groupbykch
,统计每个同学的总成绩
groupbyxh
,统计每个班级中每种性别的学生人数,并按照班级排序
selectbj,xb,count(*)
groupbybj,xb
,统计每门课程的平均成绩,并按照平均成绩降序排序
selectkch,AVG(cj)
orderbyAVG(cj)desc
,显示有两门以上课程不及格的学生的学号
selectxh
wherecj<
'
60'
havingcount(*)>
2'
分组后的条件判断
,统计每个班级中的最大年龄是多少
selectbj,SUM(nl)
groupbybj
四、嵌套查询练习
1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩
1.课程表查课程号
2.查所有高数成绩
SelectSum(cj)
wherekch=(Selectkch
fromkcb
wherekcm='
高等数学'
)
2、用子查询实现,统计<
,显示学号为"
的学生在其各科成绩中,最高分成绩所对应的课程
思考:
如果该学号学生有两个课程分数都为最高的100分,查询会有什么结果
学号一最高分
最高分对应的课程号
课程号对应课程名
Selectmax(cj)
Fromcjb
Wherexh='
Selectkch
Fromkcb
Wherecj=(selectmax(cj)fromcjb)andxh=’1’
Selectkcm
Wherekchin(Selectkch
3、用子查询实现,查询2班选修"
数据库技术"
课的所有学生的成绩之和
1.班级二班学生
Selectxh
Wherebj=’2’
2.课程表里查课程号
Wherekcm=’数据库技术’
Selectsum(cj)
Wherexhin(Selectxh
Wherebj=’2’)andkch=(Selectkch
4、用子查询实现,查询3班"
同学的"
测试管理"
成绩
1.测试管理的课程号
2.张三的学号
Wherexm=’张三’andbj=’3’
Wherekcm=’测试管理’
Selectcj
Wherexhin(Selectxh||in可能有重名的多个‘张三’
Wherexm=’张三’
)andkcm=(Selectkch
五、联接查询练习
1、查询"
的各科考试成绩,要求显示姓名、课程号和成绩
查张三学号
查学号对应成绩
Selectcj,kch
Wherexhin(Selectxh
Or
selectxm,kch,cj
fromxsb,cjb
wherexsb.xh=cjb.xh
andxm='
2、查询"
的各科考试成绩中,哪科没有记录考试成绩,要求显示姓名、课程号和成绩
查张三学号
学号对应的没有成绩的
Wherecjisnull
Wherecj=(Selectcj
Wherecjisnull)andxhin(Selectxh
Wherexm=’张三’)
Or
andcjisnull
3、查询"
的各门课程成绩,要求显示姓名、课程名称和成绩
学号对应成绩
selectxm,kcm,cj
fromxsb,cjb,kcb
andcjb.kch=kcb.kch
4、查询3班"
的"
成绩,要求显示姓名、成绩
查3班张三的学号
查测试管理的课程号
根据学号和课程号查成绩
selectxm,cj
andkcm='
测试管理'
andbj=’3’
5、查询所有2000年以前入学的,各班男生的各科考试平均成绩
selectAVG(cj),bj,kch
andrxrq<
2000'
andxb='
男'
groupbybj,kch
六、外联接查询
查询”李坚强”所有课程的成绩,并显示学号、姓名、课程号和成绩,没有成绩记录的学号包括:
('
S009'
'
S010'
S011'
1、使用左联接
2、使用右联接
3、对比等值连接
七、补充提高
1、查询“张三”比“王三”入学早几年
2、查询所在班级和该班内学生的年龄之和,其中每个人的年龄都大于20岁,每个班的年龄之和大于60岁
3、计算每种产品的剩余库存量
表1,为产品进货表,产品名称name[char(10)],产品数量amount[int]
表2,为产品出货表,产品名称name[char(10)],产品数量amount[int]
业务逻辑:
表1存储产品的总进货量,表2存储每种产品每次的出货量,如产品A进货为100,出货了3次,每次分别为10、20、30,那么A产品的库存就为40
表A1|表A2
-------------------|---------------------------
nameamount|nameamount
A100|A10
B100|A20
|A30
|B10
|B40
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 查询 习题