实验一 sql语言及相关操作及答案1Word文档格式.docx
- 文档编号:19938392
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:14
- 大小:865.11KB
实验一 sql语言及相关操作及答案1Word文档格式.docx
《实验一 sql语言及相关操作及答案1Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验一 sql语言及相关操作及答案1Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。
104
13.查询出生日期在1991年以后的学生的学号、姓名、籍贯和年龄。
14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。
15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。
16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。
17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。
18.统计student表中的男女学生的人数。
19.查询成绩最高分的学生的学号、课程号和相应成绩。
20.查询选课少于3门的学生的学号及其选课的门数。
(2)利用SQL语句进行表的管理等操作。
1.给class表中的classname字段添加唯一约束。
2.给Student表中的sex字段添加检查约束。
3.建立学生会名单表StudentUnion,包含三个字段:
编号SID(char
(2)),姓名studnetName(varchar(20),职务post(char(15))。
4.为StudentUnion表插入两条数据(1,’李小勇’,’学生会主席’),(2,’吴敏’,’文艺部长’)
5.在上题中建立的表StudentUnion中增加一个字段“电话(char(8))”,为电话列添加检查约束,要求每个新加入或修改的电话号码为8位数字。
6.为StudentUnion表增加一个字段“地址(varchar(50))”。
7.在表StudentUnion中的地址字段添加一个默认约束,默认值为“独墅湖高教区仁爱路1号”。
8.把字段职务post的数据类型改为varchar(15)。
9.将计算机科学与技术07-01班的男同学的成绩减去5分。
10.将学号为0800008同学的籍贯修改为厦门。
四、实验目的
请各位同学结合实验内容,写实验的总结,可以写在实验中、学习中遇到的问题,如何解决的,最后学到了哪些知识。
每个同学的总结应该都是不同的,如果发现有雷同的实验报告,都将本次实验成绩作为不及格记录。
完成本次实验后,请根据要求完成实验报告,实验报告要求每一题都配合都准确的截图,截图的大小不能超过实验报告纸的范围且不能把实验报告的头部内容给遮挡住。
--
(1)利用SQL语句进行简单查询和连接查询操作。
--1.列出所有course的课程号、课程名和学分。
selectcourseno,coursename,credithour
fromcourse;
--2.查询所有蒙古族学生的学号、姓名和所在学院。
selectstudentNo,studentName,institute
fromStudent,Class
wherestudent.classNo=Class.classNo;
--3.在score表中显示平均成绩都高于85分的学生学号、课程号和成绩。
select*
fromScore
wherestudentNoin(
selectstudentno
fromScore
groupbystudentNo
havingAVG(score)>
85);
--4.查询选修课称号为001或005且平均成绩大于等于75分学生的学号、课程号和成绩。
wherecourseNoin('
001'
'
005'
)
andstudentNoin(
selectstudentNo
havingAVG(score)>
=75);
--5.查询信息管理学院年出生的所有男生的信息。
whereinstitute='
信息管理学院'
andsex='
男'
andYEAR(birthday)=1991;
--6.查询所有学生的年龄。
selectstudentno,YEAR(GETDATE())-YEAR(birthday)asage
fromStudent
--7.查询所有姓王或姓黄的学生的姓名、生日和所在班级名称。
selectstudentName,birthday,classname
whereStudent.classNo=Class.classNo
and(studentNamelike'
王%'
orstudentNamelike'
黄%'
);
--8.查询先修课程为”数据结构”的所有课程。
selecta.courseno,a.coursename
fromCoursea,Courseb
wherea.priorCourse=b.courseNo
andb.courseName='
数据结构'
;
--9.查询信息管理学院非汉族同学的学号、姓名、性别及民族。
selectstudentNo,studentName,sex,nation
andinstitute='
andnation!
='
汉族'
--10.查找选修了“操作系统”的学生学号、成绩和姓名。
selectstudent.studentNo,studentname,Score
fromStudent,course,Score
whereStudent.studentNo=score.studentNo
andCourse.courseNo=score.courseNo
andcourseName='
操作系统'
--11.查找至少选修了一门其直接先修课编号为004的课程的学生学号和姓名。
selectscore.studentno,studentname
fromStudent,Course,Score
andscore.courseNo=Course.courseNo
andpriorCourse='
004'
--12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。
fromScore,student
wherescore.studentNo=Student.studentNo
andcourseNo>
=all(
selectcourseno
wherestudentNo='
0800001'
--13.查询出生日期在年以后的学生的学号、姓名、籍贯和年龄。
selectstudentno,studentName,native,YEAR(GETDATE())-YEAR(birthday)asage
fromStudent
whereYEAR(birthday)>
1991;
--14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。
selectscore.studentno,studentName,AVG(score)asavgscore
fromStudent,Score
groupbyscore.studentNo,studentName
orderbyavgscoredesc;
--15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。
selectstudent.studentNo,score.courseNo,score
fromstudent,score,Course
wherestudent.studentNo=score.studentNo
andCourse.courseNo=(
selecta.courseNo
fromCoursea,Courseb
wherea.priorCourse=b.courseNo
andb.courseName='
C语言程序设计'
--16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。
select*
wherestudentNoin(
selectstudentNo
80
)
orderbycourseNo,scoredesc;
--17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。
selectstudentName,courseName,score
fromStudent,Course,Score,class
andStudent.classNo=Class.classNo
--18.统计student表中的男女学生的人数。
selectsex,count(*)as人数
groupbysex
--19.查询成绩最高分的学生的学号、课程号和相应成绩。
selectstudentNo,courseno,score
fromScore
wherescore=(
selectMAX(score)
fromScore);
--20.查询选课少于门的学生的学号及其选课的门数。
selectstudentno,COUNT(*)as门数
groupbystudentno
havingcount(*)<
3
--
(2)利用SQL语句进行表的管理等操作。
--1.给class表中的classname字段添加唯一约束。
altertableclassaddconstraintuniqueClassnameunique(classname);
--2.给Student表中的sex字段添加检查约束。
altertablestudentaddconstraintchkSexcheck(sexin('
女'
));
--3.建立学生会名单表StudentUnion,包含三个字段:
createtablestudentUnion(
sidchar
(2)primarykey,
studentnamevarchar(20),
postchar(15));
--4.为StudentUnion表插入两条数据(,’李小勇’,’学生会主席’),(,’吴敏’,’文艺部长’)
insertintostudentUnion
values(1,'
李小勇'
学生会主席'
values(2,'
吴敏'
文艺部长'
--5.在上题中建立的表StudentUnion中增加一个字段“电话(char(8))”,为电话列添加检查约束,要求每个新加入或修改的电话号码为位数字。
altertablestudentUnionaddtelephonechar(8);
--6.为StudentUnion表增加一个字段“地址(varchar(50))”。
altertablestudentUnionaddaddressvarchar(50);
--7.在表StudentUnion中给地址字段添加一个默认约束,默认值为“独墅湖高教区仁爱路号”。
altertablestudentUnionaddconstraintdefaultAdddefault'
独墅湖高教区仁爱路号'
foraddress;
--8.把字段职务post的数据类型改为varchar(15)。
altertablestudentUnionaltercolumnpostvarchar(15);
--9.将计算机科学与技术-01班的男同学的成绩减去分。
updateScore
setscore=score-5
fromscore
fromClass,Student
whereclass.classNo=Student.classNo
andclassName='
计算机科学与技术-01班'
andsex='
--10.将学号为同学的籍贯修改为厦门。
updatestudent
setnative='
厦门'
0800008'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 sql语言及相关操作及答案1 实验 sql 语言 相关 操作 答案