查询练习作业教学文稿Word文档下载推荐.docx
- 文档编号:4379825
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:30
- 大小:775.62KB
查询练习作业教学文稿Word文档下载推荐.docx
《查询练习作业教学文稿Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《查询练习作业教学文稿Word文档下载推荐.docx(30页珍藏版)》请在冰点文库上搜索。
年龄
取值15~45
province
所属省份
字符串,长度为20
默认为‘北京’
Sdept
所在系
默认为‘计算机系’
3.SC表
主码,引用Student的外码
主码,引用Course的外码
Grade
成绩
取值0~100
二、使用Insert语句向数据库表格中添加数据,各个表中的样本数据:
Course表数据样本:
Cno
Cname
Ccredit
Semster
Period
c01
数据结构
3
1
64
c02
VB程序设计
2
32
c03
计算机网络
4
c04
数据库原理与应用
c05
高等数学
6
c06
计算机文化基础
5
Student表数据样本:
Sno
Sname
Ssex
Sage
Sdept
0750101
李南
男
19
北京
计算机系
0750122
王平
20
山东
0750202
王敏
女
河南
0750201
张伟
22
信管系
0750323
吴会
21
河北
0750423
张海
0750303
董伟
18
天津
艺术系
0750422
王英
SC表数据样本:
Grade
90
89
76
88
77
67
69
79
78
68
87
80
简单的查询:
先建以上的三个表
(1)查询全体学生的学号、姓名,要求按学号进行升序排列。
selectSno,Sname
fromStudentORDERBYSnoasc;
(2)查询所有课程信息,要求列的顺序与COURSE表中的列序一致。
select*
fromCourse
(3)查询SC表中总成绩小于70分的学生学号,成绩,并给出临时标题。
selectGradeas总成绩,Sno
fromSC
whereGrade<
70
(4)查询SC表中所有学生的学号,消除结果集中的重复行。
selectdistinctSnofromSC;
(5)查询选修了‘c03’号课程且成绩在70分以上的学生学号与成绩。
selectSno,Grade
whereSC.Cno='
c03'
andSC.Grade>
='
70'
;
(6)查询‘c03’号课成绩在70-80分之间的学生学号。
selectSno
whereSC.Gradebetween70and80andSC.Cno='
(7)查询‘计算机系’,‘信管系’学生的全部信息。
fromStudent
whereStudent.Sdept='
计算机系'
or
Student.Sdept='
信管系'
(8)查询‘c03’号课程成绩加上10分后的学生学号和成绩,要求给出临时标题。
正确为:
selectSno,Grade+10as'
成绩'
fromCourse,SC
whereCourse.Cno=SC.CnoandCourse.Cno='
C03'
(9)查询‘9512102’号学生所选修的课程和成绩信息。
selectCno,Grade
whereSno='
9512102'
(10)查询Student表中前3个记录。
selecttop3*
fromStudent;
11)查询名字中含有‘王’字的学生信息。
select*
whereSnamelike'
%王%'
(12)查询课程名中不含‘数据’字样的课程信息
fromCourse
whereCnamenotlike'
%数据%'
(13)查询全体学生的姓名及出生年份。
selectSname,Sage
fromStudent
(14)查询包含‘DB_’的课程信息。
whereCnamelike'
%DB_%'
(15)查询所有成绩为空的学生学号和课号
selectSno,Cno
whereGradeisnull
(16)按照学号的升序,课程号的降序查询学生的成绩信息。
selectGrade,Sno,Cno
orderbySnoasc,Cnodesc;
(17)查询年龄不在20~23之间的学生姓名、所在系和年龄。
selectSname,Sage,Sdept
whereSagenotbetween20and23;
(18)查询名字中第2个字为‘小’或‘大’字的学生的姓名和学号。
selectSname,Sno
_[大小]'
(19)查询全体学生的信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。
selectSno,Sname,Sno
orderbySdept,Sagedesc;
20查询学生选修信息表,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序
首先要新建一个<
学生选修信息表>
善后进行查询;
select*from学生选修信息表orderbygradeasc;
21、查询<
学生信息表>
,查询学生"
吴会"
的全部基本信息
Select*form学生信息表wherename=‘吴会’
22、查询<
张三"
和”李四”的基本信息
select*from学生选课信息表wheresname='
张三'
orsname='
李四’
23、查询<
,查询姓"
张"
学生的基本信息
Select*from学生选课信息表wheresnamelike'
张%'
24、查询<
,查询姓名中含有"
四"
字的学生的基本信息
select*from学生选课信息表
wheresnamelike'
%四%'
26、查询<
或者姓”李”的学生的基本信息。
Select*from学生选课信息表
%李%'
orsnamelike'
%张%'
27、查询<
王"
并且"
所属省份"
是"
北京"
的学生信息
select*from学生选课信息表wheresnamelike'
王%'
andprovince='
北京'
28、查询<
学生选课信息表>
,查询"
、”新疆”、”山东”或者"
上海"
的学生的信息
select*from学生选课信息表whereprovince='
orprovince='
上海'
orprovince='
新疆'
29、查询<
,但是"
不是"
的学生信息
andprovince<
>
'
30、查询<
,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序
Select*from学生选课信息表orderbySsex,province,sdeptdesc
31、查询<
,查询现有学生都来自于哪些不同的省份
selectprovincefrom学生选课信息表
32、查询学生选修信息表,查询没有填写成绩的学生的学号、课程号和成绩
Select*from学生选课信息表where学生选课信息表.gradeisnull
\四、高级查询
(1)统计每个系的学生人数。
Selectcount(Sdept)fromStudent
(2)查询信管系的最大年龄和最小年龄。
selectmax(Sage)'
最大年龄'
min(Sage)'
最小年龄'
whereSdept='
(3)查询信管系的最大年龄和最小年龄的学生姓名。
selectmin(Sage)fromStudentwhereSdept='
unionall
selectmax(Sage)fromStudentwhereSdept='
andSdept='
(4)统计选修‘C01’课程的学生的最高分,最低分、总成绩及平均分。
selectMAX(Grade),min(Grade),sum(Grade),avg(Grade)
(5)查询所有学生的选课信息,要求列出学生学号、姓名、课程名和成绩。
selectStudent.Sno,Student.Sname,Course.Cname,Sc.Grade
fromStudent,SC,Course
(6)统计每门课程的选修人数。
selectSC.Cno,count(SC.Cno)
groupbySC.Cno
(7)统计每个学生选修的课程门数及总成绩。
selectSno,课程门数=count(Cno),总成绩=sum(Grade)
groupbySno
(8)查询哪些课程没有人选修,要求列出课程号、课程名。
selectCno,Cname
whereCnonotin(selectCnofromSC)
(9)查询各科平均成绩超过80分的学生姓名。
selectSname
whereSnoin(SELECTSnofromSCGROUPBYSnohavingavg(Grade)>
80)
(10)查询选修了‘C03’号课程的同学所在的系及该同学的姓名。
selectSdept,Sname
whereSnoin(selectSnofromSCwhereCno='
groupbySno)
(11)查询‘数据库基础’这门课的成绩在80分以上的学生姓名。
whereSnoin(selectSnofromSCwhereCno
in(selectCnofromCoursewhereCname='
数据库原理'
)andGrade>
80groupbySno)
(12)统计平均成绩大于70分的课程名。
selectCname
whereCnoin(selectCnofromSCgroupbyCnohavingavg(Grade)>
70)
(13)统计平均成绩大于70分的学生姓名及所在系。
selectSname,Sdept
whereSnoin(selectSnofromSCgroupbySnohavingavg(Grade)>
(14)从学生管理数据库的三张表中检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。
selectStudent.Sno,Sname,Course.Cno,Cname,Grade
whereStudent.Sno=SC.SnoandCourse.Cno=SC.Cno
(15)使用不带HAVING的GROUPBY子句汇总出SC表中的学生的学号及总成绩。
SelectSno,SUM(Grade)
fromSCgroupbySno
(16)使用带HAVING的GROUPBY子句汇总出SC表中总分大于150分的学生的学号及总成绩。
SELECTSno,SUM(Grade)
fromSC
groupbySnohavingSUM(Grade)>
150
(17)查询修了3门以上课程的学生的学号。
selectSno,Sname
whereSnoin(selectSnofromSCgroupbySnohavingcount(Cno)>
3)
(18)查询信管系修了某课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。
selectSname,Grade,CnamefromSC,Course,Studentwhere
SC.Cno=Course.CnoandStudent.Sno=SC.SnoandSdept='
19统计学生选修信息表,统计每个课程的选修人数
Selectcount(*)from学生选课信息表
20、统计学生选修信息表,统计每个同学的总成绩
SelectSno,sum(grade)as总成绩from学生选课信息表groupbySno
21、统计<
,统计每个班级中每种性别的学生人数,并按照班级排序
selectsemsteras班级,ssexas性别,count(*)as人数from学生选课信息表groupbysemster,ssex
orderbysemster
22、统计学生选修信息表,统计每门课程的平均成绩,并按照成绩降序排
Selectcno,avg(grade)as平均成绩from学生选课信息表groupbyCnoorderbyavg(grade)desc
23、统计学生选修信息表,显示有两门以上课程不及格的学生的学号
Selectsnoas'
不及格学生学号'
fromscwheregrade<
60
24、统计<
,统计每个班级中的最大年龄是多少
selectmax(sage)as'
from学生选课信息表
25、用子查询实现,查询选修“高等数学”课的全部学生的总成绩
selectsum(grade)as高等数学总成绩from学生选课信息表wherecno=(selectcno
from学生选课信息表wherecname='
高等数学'
)
26、用子查询实现,统计学生选修信息表,显示学号为"
0750101"
的学生在其各科成绩中,最高分成绩所对应的课程号和成绩
selectgrade,cnofrom学生选课信息表wheresno='
0750101'
andgrade=(selectmax(grade)
from学生选课信息表wheresno='
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 查询 练习 作业 教学 文稿