SQL实验分析报告文档格式.docx

上传人:b****5 文档编号:19608048 上传时间:2023-01-08 格式:DOCX 页数:15 大小:36.22KB
下载 相关 举报
SQL实验分析报告文档格式.docx_第1页
第1页 / 共15页
SQL实验分析报告文档格式.docx_第2页
第2页 / 共15页
SQL实验分析报告文档格式.docx_第3页
第3页 / 共15页
SQL实验分析报告文档格式.docx_第4页
第4页 / 共15页
SQL实验分析报告文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

SQL实验分析报告文档格式.docx

《SQL实验分析报告文档格式.docx》由会员分享,可在线阅读,更多相关《SQL实验分析报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

SQL实验分析报告文档格式.docx

姓名char(20)notnull,

性别char

(2)constraintc1check(性别in('

男'

'

女'

)),

生源char(10),

状态char(4)constraintc2check(状态in('

正常'

留级'

休学'

退学'

))

);

例3:

定义教师表,其中规定:

⏹教师编号是主关键字;

⏹院系列为计算列(取教师编号的第1和第2个字符),并且院系值参照院系表的编号值,此约束说明一名教师一定属于某个院系;

⏹职称的取值为教授、副教授、讲师或助教。

--E3

createtableTeacher

(教师编号char(10)primarykey,

院系asconvert(char(8),substring(教师编号,1,2))

姓名char(20)notnull,

性别char

(2)constraintc3check(性别in('

职称char(6)constraintc4check(职称in('

教授'

副教授'

讲师'

助教'

专业char(40)

例4:

定义课程表,其中规定:

⏹课程编号是主关键字;

⏹课程名称不允许为空值;

⏹责任教师参照教师表的教师编号值,此约束说明责任教师一定是已经在编的教师;

⏹学时不允许为空值;

⏹课程性质分为公共基础、专业基础、专业选修和任意选修。

--E4

createtableCourse

(课程编号char(8)primarykey,

课程名称char(30)notnull,

责任教师char(10)constraintDuty_Teacherforeignkey(责任教师)referencesTeacher(教师编号),

学时smallintnotnull,

课程性质char(10)constraintc5check(课程性质in('

公共基础'

专业基础'

专业选修'

任意选修'

例5:

定义选课表,其中规定:

⏹学号和课程编号两列构成主关键字(需要表级完整性约束);

⏹学号参照学生表的学号(约束选课的学生必须存在);

⏹课程编号参照课程表的课程编号(约束被选的课程必须存在);

⏹考试成绩取值在0~100之间,并且默认为空值。

--E5

createtableSC

(学号char(10),

课程编号char(8),

考试成绩smallintconstraintc6check(考试成绩between0and100)defaultnull,

primarykey(学号,课程编号),

foreignkey(学号)referencesStudent(学号),

foreignkey(课程编号)referencesCourse(课程编号)

例6:

规定学生表的性别字段不允许为空值

--E6

altertableStudentaltercolumn性别char

(2)notnull;

例7:

删除课程表中的责任教师列

--E7

altertableCoursedropconstraintDuty_Teacher

altertableCoursedropcolumn责任教师;

例8:

为课程表增加责任教师列,列描述如下:

⏹字符类型,长度为10;

⏹允许空值;

--E8

altertableCourseadd责任教师char(10)null

constraintnewdtforeignkeyreferencesTeacher(教师编号);

例9:

插入院系表的第1个元组(记录)

--E9

insertintoDepartment(编号,名称,负责人,办公地点)

values(01,'

信息管理学院'

李嘉'

教一楼层'

例10省略列名、插入院系表的第2个元组

--E10

insertintoDepartmentvalues(02,'

经济管理学院'

吴鸿忠'

教三楼层'

例14:

插入学生表的第1个元组

--E14

insertintoStudent(学号,姓名,性别,生源,状态)

values('

04014101'

曹波'

湖北'

例15插入学生表的第2条记录(指定正确的院系值)

--E15

04014111'

程鸣'

湖南'

例27删除考试成绩为NULL的记录。

--E27

delete

fromSC

where考试成绩isnull;

例30将04014122号学生的B00101课程的考试成绩修改为78分

--E30

updateSC

set考试成绩=78

where学号='

04014122'

and课程编号='

B00101'

;

例31:

查询学生的全部信息

--E31

select*

fromStudent;

例32:

查询所有课程名称和学时信息。

--E32

select课程名称,学时

fromCourse;

例33:

查询学时大于等于40的课程编号和课程名称。

--E33

select课程编号,课程名称

fromCourse

where学时>

=40;

例34:

查询课时在50到60(含)之间的课程信息。

--E34

=50and学时<

=60;

例35:

使用between查询课时在50到60(含)之间的课程信息。

--E35

where学时between50and60;

例36:

查询具有教授和副教授职称的教师信息。

--E36

fromTeacher

where职称='

or职称='

或者:

where职称like'

%教授'

例37:

查询责任教师字段为空值的记录。

--E37

where责任教师isnull;

例38:

查询职称为讲师或副教授的教师信息。

or职称='

例39:

查询或浏览课程性质和学时信息

select课程性质,学时

例40:

查询“专业基础”课程的信息,并将结果存储到Student模式下、表名为“专业基础”。

into专业基础

where课程性质='

例41:

按教师编号升序列出所有教师信息。

orderby教师编号;

例42:

查询所有学生信息,先按生源升序排序、再按学号升序排序。

fromStudent

orderby生源,学号;

例43:

从选课表中查询考试成绩最高的3条选课信息。

selecttop3*

orderby考试成绩desc;

例45:

从选课表中查询考试成绩在前15%的选课记录信息,如果随后有成绩并列的记录也一起列出。

selecttop15percent*

fromSC

例54:

查询考试成绩在90分以上(含)的学生的学号、姓名、相应的课程名称和考试成绩(使用CROSSJOIN连接完成查询)。

selectStudent.学号,姓名,课程名称,考试成绩

fromStudentleftjoinSCon(Student.学号=SC.学号)leftjoinCourseon(SC.课程编号=Course.课程编号)

where考试成绩>

=90;

例55:

查询目前有多少责任教师。

selectcount(distinct责任教师)

例56:

查询数据库课程的平均成绩。

selectavg(考试成绩)

fromSC,Course

whereSC.课程编号=Course.课程编号and课程名称='

数据库'

例57:

查询各院系教师的人数(显示院系名称和教师人数)。

select名称,count(*)教师人数

fromDepartment,Teacher

whereDepartment.编号=Teacher.院系

groupby名称;

例58:

查询各门课程考试成绩的平均分、最高分和最低分。

select课程名称,avg(考试成绩)平均分,max(考试成绩)最高分,min(考试成绩)最低分

fromCourseleftjoinSCon(Course.课程编号=SC.课程编号)

groupby课程名称;

例59:

查询专业基础课平均分大于等于60分的各门课程考试成绩的平均分、最高分和最低分。

groupby课程名称

havingavg(考试成绩)>

=60;

例60:

查询所有专业基础课的信息,并计算其总学时。

computesum(学时);

例61:

查询学生的考试成绩(要求查询学号、姓名、课程名称和考试成绩),同时计算每个学生的平均成绩、最高成绩和最低成绩。

fromStudent,Course,SC

whereStudent.学号=SC.学号andCourse.课程编号=SC.课程编号

orderbyStudent.学号

computeavg(考试成绩),max(考试成绩),min(考试成绩)

byStudent.学号;

例62:

同时计算所有学生的平均成绩、最高成绩和最低成绩。

byStudent.学号

computeavg(考试成绩),max(考试成绩),min(考试成绩);

例63:

查询由教授负责的课程信息(课程编号、课程名称、学时和课程性质)

select课程编号,课程名称,学时,课程性质

fromCourseleftjoinTeacheron(Course.责任教师=Teacher.教师编号)

where职称='

或代码:

fromCourse

where责任教师in

(select教师编号

例64:

查询责任教师的有关信息(姓名、性别、职称、专业)。

select姓名,性别,职称,专业

where教师编号=any

(select责任教师

where责任教师isnotnull);

where教师编号in

例65:

查询有考试成绩大于数据库课程全部考试成绩的学生信息。

fromStudent

where学号in

(select学号

fromSC

where考试成绩>

=any

(select考试成绩

fromSCleftjoinCourseon(SC.课程编号=Course.课程编号)

where课程名称='

and考试成绩isnotnull)

例66:

查询“系统分析与设计”课程的责任教师的姓名、职称,以及所负责的其他课程(课程编号和课程名称)。

select姓名,职称,课程编号,课程名称

fromTeacherleftjoinCourseon(Teacher.教师编号=Course.责任教师)

where教师编号in

fromCourse

where课程名称='

系统分析与设计'

例68:

查询哪些学生(学号和姓名)有未完成考试的课程(考试成绩为NULL)

select学号,姓名

whereexists

(select*

where考试成绩isnullandSC.学号=Student.学号);

例69:

查询哪些学生(学号和姓名)没有未完成考试的课程(考试成绩为NULL)

wherenotexists

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1