数据库上机实验

合集下载

数据库应用上机实训报告

数据库应用上机实训报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息系统的核心组成部分。

为了提高学生的数据库应用能力,我校特开设了数据库应用上机实训课程。

本次实训旨在通过实际操作,使学生掌握数据库的基本原理、设计方法、开发工具以及数据库应用系统的搭建与维护。

二、实训目的1. 掌握数据库的基本概念、原理和设计方法。

2. 熟练运用数据库开发工具进行数据库的创建、维护和管理。

3. 学会使用SQL语言进行数据库的查询、更新、删除和插入操作。

4. 具备搭建数据库应用系统的基本能力。

三、实训内容1. 数据库设计:包括需求分析、概念设计、逻辑设计和物理设计。

2. 数据库开发工具:使用SQL Server Management Studio进行数据库的创建、维护和管理。

3. SQL语言:学习SQL语句的基本语法,掌握查询、更新、删除和插入操作。

4. 数据库应用系统搭建:以实际项目为例,学习数据库应用系统的搭建与维护。

四、实训过程1. 数据库设计(1)需求分析:了解项目背景,明确数据库应用系统的功能需求。

(2)概念设计:根据需求分析结果,设计实体-关系模型。

(3)逻辑设计:将实体-关系模型转换为关系模型,并定义表结构。

(4)物理设计:选择合适的存储引擎和数据类型,设计索引和视图。

2. 数据库开发工具使用SQL Server Management Studio创建数据库,并进行以下操作:(1)创建表:根据逻辑设计结果,创建相应的表。

(2)插入数据:向表中插入测试数据。

(3)查询数据:使用SQL语句查询表中的数据。

(4)更新数据:使用SQL语句更新表中的数据。

(5)删除数据:使用SQL语句删除表中的数据。

3. SQL语言(1)查询语句:掌握SELECT语句的基本语法,包括条件查询、排序查询、分组查询等。

(2)更新语句:掌握INSERT、UPDATE和DELETE语句的基本语法。

(3)子查询:学习使用子查询进行嵌套查询。

4. 数据库应用系统搭建以一个实际项目为例,学习数据库应用系统的搭建与维护:(1)需求分析:明确项目功能需求。

数据库上机实验

数据库上机实验

图1-1 通过开始菜单启动Access图1-2 Access启动后出现的对话框、打开已有的数据库文件启动后的初始对话框中,选择“打开已有文件”单选项并在其下的列表框中选择“罗斯文示例数据库”),可以很快地打开列出的数据库文件。

如果需要的数据库文件没有列出,则可选择“更多的文件”项,继而打开标准的“打开”对话框,从中选择数据库文件来图1-3 打开了一个数据库文件后的Access窗口所示的Access窗口中,有标题栏、菜单栏、工具栏按钮、状态栏和数据库设计视图数据库设计视图窗口的构成包括三个部分:命令按钮组(位于窗口上端的八个按钮)按钮组(位于窗口左部),对象成员集合(位于窗口右下部)。

选择不同的对象类别按钮,对应类别的对象成员集合显示在其右边。

如图1-3中选中了“表”对象类别按钮,其右边即显示出该数据库中的图1-4 帮助窗口中的目录选项卡图1-5 “文件新建数据库”对话框在新建的空白数据库SPJ中,选择表对象后单击“新建”按钮,则出现“新建表”对话框所示),从中可以选择以“数据表视图”、“设计视图”或“表向导”等不同的方式新附:SQL实验题答案零件表:P(PNO,PNAME,COLOR,WEIGHT)工程表:J(JNO,JNAME,CITY)供应商:S(SNO,SNAME,STATUS,CITY)联系表:SPJ(PNO,JNO,SNO,QTY)写出SQL查询:1.取出所在城市为天津的所有工程的全部细节;SELECT *FROM JWHERE (CITY = ‘天津’)σcity=’天津’(J)2.取出重量最轻的零件代号;SELECT PNOFROM PWHERE WEIGHT = (SELECT MIN(WEIGHT)FROM P )3.取出为工程J1提供零件的供应商代号;SELECT DISTINCT SNOFROM SPJWHERE JNO = ‘J1’ПSNO(σjno=’j1’(SPJ))4.取出为工程J1提供零件P1的供应商代号;SELECT SNOFROM SPJWHERE (PNO = ‘P1’ AND JNO = ‘J1’)5.取出由供应商S1提供零件的工程名称;SELECT J.JNAMEFROM SPJ INNER JOIN J ON J.JNO = SPJ.JNO WHERE SNO = ‘S1’Пjname(σsno=’s1’(SPJ)*Пjno,jname(S))6.取出供应商S1提供的零件的颜色;SELECT DISTINCT P.COLORFROM P INNER JOIN SPJ ON P.PNO = SPJ.PNO WHERE SNO = ‘S1’Пcolor(σsno=’s1’(SPJ)*Пpno,color(P))7.取出为工程J1或J2提供零件的供应商代号;SELECT DISTINCT SNOFROM SPJWHERE JNO = ‘J1’ OR JNO = ‘J2’8.取出为工程J1提供红色零件的供应商代号;WHERE JNO = ‘J1’ AND COLOR = ‘红’9.取出为所在城市是天津的工程提供零件的供应商代号;SELECT DISTINCT SPJ.SNOFROM J INNER JION SPJ ON J.JNO = SPJ.JNOWHERE CITY = ‘天津’10.取出为所在城市是天津或北京的工程提供红色零件的供应商代号;SELECT DISTINCT SPJ.SNOFROM (J INNER JION SPJ ON J.JNO = SPJ.JNO)INNER JION P ON SPJ.PNO = P.PNOWHERE (J.CITY = ‘天津’ OR J.CITY = ‘北京’) AND COLOR = ‘红’11.取出与工程所在城市相同的供应商所提供的零件代号;SELECT DISTINCT SPJ.PNOFROM (J INNER JION SPJ ON J.JNO = SPJ.JNO)INNER JION S ON SPJ.SNO = S.SNOWHERE J.CITY = S.CITY12.取出天津的供应商提供给天津的任一工程的零件代号;SELECT DISTINCT SPJ.PNOFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOWHERE S.CITY = ‘天津’ AND J.CITY = ‘天津’13.取出与工程不在同一城市的供应商提供零件的工程代号;SELECT DISTINCT J.JNOFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOWHERE J.CITY < > S.CITY14.取出天津供应商不提供任何零件的工程的代号;SELECT DISTINCT JNOFROM SPJWHERE JNO NOT IN (SELECT SPJ.JNOFROM S INNER JION SPJ ON S.SNO = SPJ.SNOWHERE S.CITY = ‘天津’)15.取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;SELECT DISTINCT SNOFROM SPJWHERE PNO IN (SELECT PNOFROM PWHERE COLOR = ‘红’)16.取出所有这样的二元组(CITY,CITY),使得第1个城市的供应商为第2个城市的工程提供零件;SELECT DISTINCT S.CITY, J.CITYFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOSELECT DISTINCT S.CITY, SPJ.PNO, J.CITYFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNO18.重复17题,但不检索两个CITY 值相同的三元组。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告摘要:本次数据库上机实验主要介绍了SQL语言在数据库中的应用,通过实际操作掌握了SQL语言的基本语法和常用命令,同时实践了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。

本文将详细介绍实验中所使用的数据结构和算法,以及实验数据和结果的分析与总结。

一、实验目的本次实验的目的是对数据库相关的运用做一次实践操作,包括了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。

力求将理论知识与实践经验相结合,为今后的数据库实践奠定基础。

二、实验原理本次实验中主要使用的是SQL语言对数据库进行管理。

SQL是一种结构化查询语言,可以对数据库进行查询、操作、管理等。

通过SQL语言对数据库中的数据进行增、删、改、查等操作,可以实现对数据的有效管理。

三、实验步骤1. 建立数据库首先在本地电脑建立数据库,可以通过使用全局管理工具进行实现。

2. 创建数据表在数据库中创建数据表,可以用CREATE TABLE命令来实现。

首先需要指定表的名称,其次需要指定表的字段名及其数据类型。

3. 插入数据表创建好之后,可以向表中插入数据。

可以使用INSERT命令将数据插入到表中,INSERT后面接表名和插入的数据。

4. 数据查询对于已经插入到数据库中的数据,可以进行查询操作。

可以通过SELECT语句对数据库进行查询。

SELECT后面需要指定要查询的字段名或者使用星号表示要查询全部字段。

5. 数据修改在数据库中,数据的修改一般是使用UPDATE命令来实现。

通过UPDATE语句可以修改已经存在的数据信息。

6. 数据删除表中的某个项不再需要时,可以通过DELETE语句来删除数据库中的数据项。

DELETE命令后面跟上要删除的数据。

四、实验结果通过SQL的基本命令,我们在本地电脑中成功的建立起了一个数据库,并把相关的数据插入到该数据库中。

在查询过程中,SQL可以只按照需要查询的数据来进行操作,使得数据的处理过程更加高效。

数据库综合实训上机报告

数据库综合实训上机报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为各行各业不可或缺的基础技术。

为了提高学生的数据库应用能力,我们学院开展了数据库综合实训课程。

本次实训旨在通过上机实践,让学生全面掌握数据库设计、创建、查询、维护等基本操作,提高学生的数据库应用技能。

二、实训目标1. 掌握数据库设计的基本原则和方法;2. 熟练运用SQL语言进行数据库操作;3. 学会使用数据库管理系统(如SQL Server、MySQL等)进行数据库的创建、查询、维护等操作;4. 培养学生团队协作能力和沟通能力。

三、实训内容1. 数据库设计(1)需求分析:了解项目背景,分析项目需求,确定数据库功能。

(2)概念设计:根据需求分析,设计实体关系图(ER图),确定实体、属性和关系。

(3)逻辑设计:将ER图转换为关系模型,设计数据库表结构,确定表之间的关系。

(4)物理设计:选择合适的数据库管理系统,创建数据库,设计存储过程、触发器等。

2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,设置用户权限。

(2)创建表:根据设计好的表结构,使用SQL语句创建表,设置字段属性、约束等。

(3)插入、删除、修改数据:使用SQL语句进行数据的增删改操作。

(4)查询数据:使用SELECT语句进行数据查询,包括简单查询、条件查询、多表查询等。

3. 视图与存储过程(1)创建视图:根据查询需求,使用SQL语句创建视图,简化查询操作。

(2)创建存储过程:封装常用操作,提高代码重用性。

4. 数据库维护与优化(1)备份与恢复:定期备份数据库,确保数据安全。

(2)索引优化:合理创建索引,提高查询效率。

(3)性能监控:监控数据库性能,及时发现问题并解决。

四、实训过程1. 组建实训小组:每组由3-5人组成,明确分工,提高团队协作能力。

2. 分阶段完成任务:按照实训内容,分阶段完成数据库设计、创建、操作、维护等任务。

3. 汇报与交流:每个小组定期汇报实训进度,分享经验,互相学习。

数据库上机实验报告

数据库上机实验报告

数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。

1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。

建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告引言:数据库是一种用于存储和管理数据的工具,它在现代社会中的重要性无可忽视。

本次实验旨在通过实际上机操作,加深对数据库的理解,并熟悉其相关操作和功能。

一、实验背景在信息时代的大背景下,各种类型的数据呈现指数级增长。

为了有效地存储和管理这些数据,数据库被广泛采用。

数据库管理系统(DBMS)是一套软件工具,用于定义、创建、管理和检索数据库。

本次实验将使用一款流行的开源DBMS工具MySQL。

二、实验目的1. 了解数据库的基本概念和原理;2. 掌握数据库的基本操作;3. 理解并应用SQL语言;4. 通过实际操作,熟悉数据库的增删改查功能。

三、实验过程1. 数据库的创建与连接首先,在MySQL中创建一个新的数据库,并通过合适的用户名和密码连接到该数据库。

数据库连接作为与数据库通信的接口,是进行各种操作的基础。

2. 数据表的创建与设置创建数据表是数据库设计的核心部分。

在实验过程中,我们选择创建一个学生信息表格。

通过指定各个字段的数据类型、长度以及约束,定义了学生信息表的结构。

3. 数据的插入与查询在学生信息表中插入若干条测试数据,包括学生姓名、年龄、性别、学号等信息。

通过SQL语句,我们可以灵活地插入、查询和过滤数据。

例如,查询年龄大于20岁的学生或者查询特定学号的学生等。

4. 数据的更新与删除数据库的更新和删除操作是不可或缺的。

我们可以通过SQL语句,修改特定记录的字段值,或者删除某些记录,以实现数据的动态维护和管理。

四、实验结果与分析通过实验操作,我们成功创建了学生信息表格,并插入了若干测试数据。

在查询功能上,我们能够根据不同的条件,按照要求查询指定的学生信息。

此外,我们还尝试了数据的更新和删除操作,成功地修改了一部分学生的年龄和性别,并删除了一些无效的记录。

五、实验总结通过本次数据库上机实验,我对数据库的基本概念、原理和操作有了更深入的了解。

在实践中,我能熟练地使用创建数据库、创建数据表、插入数据、查询数据以及修改和删除数据等功能。

数据库上机实习心得体会4篇

数据库上机实习心得体会4篇

数据库上机实习心得体会4篇数据库上机实习心得体会4篇数据库上机实习心得体会1SQL是Structured Query Language(结构化查询语言)的缩写。

SQL 是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。

在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。

SQL功能强大、简洁易学、使用便利,已经成为了数据库操作的基础,并且现在几乎全部的数据库均支持SQL。

它的强大功能以前就听人说过,所以就选了这门课。

经过一个学期的数据库课程的学习,我们把握了创建数据库以及对数据库的操作的基础学问。

幸老师的教学急躁细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础学问把握的比较结实。

数据库这门课涉及到以前的学问不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较简洁把握的课。

通过学习,我对数据库没有了奇妙感,简洁的说下我对数据库的理解吧。

我觉得它就是创建一些表格,然后再用一些语句依据他们之间的关系,把它们组合在一起。

最基本的就是子查询了。

我的子查询阅历就是先写出select * 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简洁select语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。

接下来,关联查询之类的,学起来也是不难的,但有一点必需留意,那就是上课必需跟着老师的进度走,确定要留意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。

总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再生疏,甚至还略知一二。

呵呵…感谢老师~!数据库上机实习心得体会2一个月的数据库实训就转瞬间就上完了,期间讲解了一个同学管理系统,最终还做了一个小的数据库链接作业。

现在就说说关于vb链接的数据库的一些方法。

数据库上机报告

数据库上机报告

数据库上机报告一、实验目的本次实验旨在让学生熟悉基本的SQL语句,了解数据库的基本概念,掌握数据库设计的基本思路和方法。

二、实验环境1.软件环境:操作系统:Windows 10数据库:MySQL编辑器:Navicat2.硬件环境:CPU:Intel Core i5内存:8GB三、实验步骤1.创建数据库和数据表使用Navicat连接MySQL数据库,在Query Editor中输入以下SQL语句创建数据库和数据表:CREATE DATABASE experiment;USE experiment;CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2),);2.插入数据在Query Editor中输入以下SQL语句插入数据:INSERT INTO student(id,name,age,gender) VALUES(1,'Tom',22,'男'),(2,'Lucy',20,'女'),(3,'Mike',25,'男'),(4,'Susan',23,'女');3.查询数据在Query Editor中输入以下SQL语句查询数据:SELECT * FROM student;4.更新数据在Query Editor中输入以下SQL语句更新数据:UPDATE student SET age=26 WHERE name='Mike';5.删除数据在Query Editor中输入以下SQL语句删除数据:DELETE FROM student WHERE name='Susan';四、实验总结通过本次实验,我掌握了SQL语句的基本使用方法,了解了数据库的基本概念,学会了使用Navicat进行数据库操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建数据表与数据输入Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表P69 1.(1)-(6)2. 为数据表输入数据P76 4.(1)-(4)3. 数据浏览P77 1. (1)-(2)2. (1)-(3)Part II. 使用SQL语句创建数据表和输入数据1. 使用SQL语句创建数据表P72. 例3-22.使用SQL语句输入数据P82. 例3.8习题:P.105 (1)(2)insert数据操作Insert、Update、Delete P105 3. 上机练习题(2)(4)Insert(100001, 1000, 2002-12-18 0:00:00) (100002, 2000, 2010-3-20 0:00:00)Update(100001, 1500, 2002-12-18 0:00:00) (100002, 2000, 2012-9-25 0:00:00)Delete1.将teaching数据库中score表的studentno列设置为引用表student的外键。

ALTER TABLE ScoreADD CONSTRAINT FK_score_student FOREIGN KEY (studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。

ALTER TABLE classADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。

ALTER TABLE studentADD CONSTRAINT CK_birthdayCHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息INSERT INTO student(studentno, sname, sex, birthday, classno)VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’)提示:表达式YEAR(GETDATE())-YEAR(birthday)4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。

CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’)EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’执行如下插入语句,查看提示信息INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’)提示:表达式IN(职称列表)5. 编写程序,输出在1-3000之间能被17整除的最大数值提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。

(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。

)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INTSELECT @s=0, @i=3000WHILE @i>=1BEGINIF @i%17=0BEGINPRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4))BREAKEND@i = @i-1END1. 利用Transact-SQL语句声明一个长度为16的nchar型变量bookname,并赋初值为“SQL Server数据库编程”,打印该变量。

2. 编程求50-100之间的所有能被3整除的奇数之和。

3. 编写程序,声明CHAR型变量@ch,并赋初值。

判断字符变量@ch中存放的是字母、数字字符还是其他字符,并输出相关信息。

(提示:UPPER函数可以将小写字母转换为大写字母)4. 编写程序,求解如下分数序列的前20项之和并打印输出结果。

S=2/1+3/2+5/3+8/5+13/8+21/13+…分析数列的规律:后一项的分子为前一项的分子和分母之和,后一项的分母则为前一项的分子,通过循环即可实现累加。

注意:声明分子和分母为浮点型数据NUMERIC(20,7).5.查询编号为c06108, c08106, c05109课程的学生总评成绩等级,平时成绩usually*0.2+期末成绩final*0.8>=90的为优秀,80-90为良好,70-80为中等,60-70为及格,<60为不及格。

(提示:使用CASE …END语句)1. 查询course表中所有的记录。

2. 查询student表中女生的人数。

3. 查询teacher表中每一位教授的教师号、姓名和专业名称。

4. 利用现有的表生成新表,新表中包括学号、学生姓名、课程号和总评成绩。

其中:总评成绩=final*0.8+usually*0.25. 查询student表中所有年龄大于20岁的男生的姓名和年龄。

6. 查询计算机学院教师的专业名称。

7. 查询Email使用126邮箱的所有学生的学号、姓名和电子邮箱地址。

8. 查询score表中选修’c05109’或’c05103’课程,并且课程期末成绩在90~100分之间的学生姓名和期末成绩。

9. 查询student表中所有学生的基本信息,查询结果按班级号classno升序排列,同一班级中的学生按入学成绩point降序排列。

10. 查询选修’c05109’课程,并且期末成绩在前5名的学生学号、课程号和期末成绩。

(提示:TOP 5)1. 按性别分组,求出student表中每组学生的平均年龄。

2. 统计每个学生期末成绩的平均分。

3. 输出student表中没有职称的职工的教师号、姓名、专业和部门。

4. 查询选修课程且期末成绩不为空的学生人数。

5. 查询每名学生的学号、选修课程数目、总成绩,并将查询结果存放到生成的“学生选课统计表”中。

6. 查询各班学生的人数。

7. 查询各课程期末成绩的最高分和最低分。

8. 查询教两门及以上课程的教师编号、任课班级数。

9. 查询课程编号以’c05’开头、被3名及以上学生选修且期末成绩的平均分高于75分的课程号、选修人数和期末成绩平均分,并按平均分降序排序。

10. 查询所有08级学生的期末成绩平均分,要求利用COMPUTE BY方法显示每一名学生的学生编号、课程号、期末成绩的明细表,以及期末成绩平均分的汇总表。

11. 查询所有女生入学成绩的最高分,要求利用COMPUTE BY方法既显示明细又显示汇总结果。

SQL语句的高级应用11. 查询每一位教授的教师号、姓名和讲授的课程名称。

表:teacher,course,teach_class2. 分别统计每个学生期末成绩高于75分的课程门数。

表:student,score3. 计算每个学生获得的学分。

表:student,score,course4. 获取入学时间在2008年到2009年之间的所有学生中入学年龄小于19岁的学生的学号、姓名及所修课程的课程名称。

表:student, stu_course5. 查询09级学生的学号、姓名、课程及学分。

表:student,stu_course6. 查询所有班级的期末成绩平均分,并按照平均分降序排列。

表:score,student7. 查询教师基本信息和教授课程信息,其中包括未分配课程的教师信息。

表:teacher,teach_class8. 查询’090501’班级中选修了’韩晋升’老师讲授的课程的学生的学号、姓名、课程名和期末成绩。

表:score,student,course,teach_class,teacher9. 查询每门课程的课程号、课程名和选修该课程的学生人数,并按所选人数升序排序。

表:score,course10. 查询两门及以上课程的期末成绩超过80分的学生的姓名及其平均成绩。

表:student,scoreSQL语句的高级应用2 –使用子查询1. 输出student表中年龄大于女生平均年龄的男生的所有信息。

2. 查询入学考试成绩最高的学生的学号、姓名和入学成绩。

3. 查询所有教授’c05127’号课程的教师信息。

4. 查询同时教授’c05127’和’c05109’号课程的教师信息。

5. 查询至少选修了姓名为’韩吟秋’的学生所选修课程中的一门课的学生的学号和姓名。

6. 查询没有被任何学生选修的课程编号、课程名称和学分。

7. 查询’C语言’课程期末成绩比’电子技术’课程期末成绩高的所有学生的学号和姓名。

8. 查询所有班级期末平均成绩的最高分,并将其赋值给变量,通过PRINT语句输出。

视图与索引使用SQL语言1. 创建一个视图v_teacher,查询所有“计算机学院”的教师信息。

CREATE VIEW v_teacherASSELECT*FROM teacherWHERE department='计算机学院'GOSELECT*FROM v_teacher2. 创建一个视图v_avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排列。

CREATE VIEW v_avgstuASSELECT TOP 100 student.studentno,sname,avg(final)AS'平均分'FROM student JOIN scoreON student.studentno=score.studentnoGROUP BY student.studentno,snameORDER BY avg(final)GOSELECT*FROM v_avgstu3. 修改v_teacher的视图定义,添加WITH CHECK OPTION选项。

ALTER VIEW v_teacherASSELECT*FROM teacherWHERE department='计算机学院'WITH CHECK OPTION4. 通过视图v_teacher向基表teacher中分别插入数据(‘05039’, ‘张馨月’,’计算机应用’,’讲师’,’计算机学院’)和(‘06018’, ‘李诚’,’机械制造’,’副教授’,’机械学院’),并查看插入数据情况。

相关文档
最新文档