数据库数据查询实验报告和答案.doc

合集下载

数据库查询语句实验报告及答案

数据库查询语句实验报告及答案

1.找出所有供应商的姓名和所在城市。

select sname,city from S表2.找出所有零件的名称,颜色,重量;select pname,color,weight from P表3.找出使用供应商S1所供应零件的工程号码。

select jno from SPJ表where sno='S1'4.找出工程项目J2使用的各种零件的名称及其数量。

select pname,qty from 表7,表5 where 表5.pno=表7.pno and 表7.jno='J2'5.找出上海厂商供应的所有零件的号码。

select distinct pno from 表7 where sno in (select sno from 表4 where city='上海')6.找出使用上海产的零件的工程名称。

select jname from 表6,表7,表4 where 表6.jno=表7.jno And 表7.sno=表4.sno And 表4.city='上海'8.全部红色零件的颜色改成蓝色。

update 表5 set color='蓝' where color='红'9. 由S5供给J4的零件P6改为由S3供应.update 表7 set sno='S3'where sno='S5'and jno='J4'and pno='P6'10.从供应商关系中删除S2的记录,并从供应商情况关系中删除相应的记录。

delete from 表4 where sno='S2'delete from 表7 where sno='S2'11.请将(S2,J6,P4,200)插入相应的情况关系。

insert into 表7(sno,jno,pno,qty) values ('S2','J6','P4',200)。

数据库查询实验报告

数据库查询实验报告

数据库查询实验报告数据库查询实验报告一、引言数据库查询是数据库管理系统中的重要功能之一,通过查询可以从数据库中获取所需的信息。

本实验旨在通过实际操作,掌握数据库查询的基本方法和技巧,并对查询结果进行分析和解读。

二、实验环境本次实验使用的是MySQL数据库管理系统,该系统具有广泛的应用和较好的稳定性。

实验所需的数据表包括学生表(student)、课程表(course)和成绩表(score)。

三、实验步骤1. 创建数据库和数据表首先,在MySQL中创建一个名为"学生成绩管理系统"的数据库,并创建三个数据表:student、course和score。

其中,student表包含学生的学号、姓名、性别等信息;course表包含课程的编号、名称、学分等信息;score表包含学生的学号、课程编号和成绩等信息。

2. 插入测试数据为了进行查询实验,需要向数据表中插入一些测试数据。

通过INSERT语句,向student表中插入若干学生信息;向course表中插入若干课程信息;向score表中插入若干学生成绩信息。

3. 执行查询语句根据实验要求,设计不同的查询语句,包括简单查询、条件查询、多表连接查询等。

通过执行这些查询语句,可以从数据库中获取所需的信息。

4. 分析查询结果根据查询结果,对数据进行分析和解读。

可以通过统计、排序、分组等方式,对数据进行进一步处理和展示。

例如,可以统计每个学生的平均成绩,对学生成绩进行排名等。

四、实验结果与分析通过实验,我们得到了一些有关学生成绩的查询结果。

根据这些结果,我们可以得出以下结论:1. 学生A的平均成绩为80分,居于全班第一名;2. 课程B的平均成绩最高,为85分;3. 学生C在课程A和课程B中都取得了优异的成绩。

五、实验总结本次实验通过数据库查询的实际操作,使我们对数据库查询的基本方法和技巧有了更深入的了解。

同时,通过对查询结果的分析和解读,我们也对数据有了更全面的认识。

数据库的查询实验报告

数据库的查询实验报告

数据库的查询实验报告数据库的查询实验报告概述:数据库是现代信息技术中不可或缺的一部分,它用于存储和管理大量的数据。

在数据库中,查询是一项重要的操作,能够帮助用户从海量数据中获取所需信息。

本实验旨在通过对数据库的查询操作进行实验,探索查询语句的编写和优化方法,以及查询结果的准确性和效率。

实验目的:1. 学习和掌握数据库查询语句的基本语法和操作方法;2. 了解查询语句的优化技巧,提高查询效率;3. 熟悉数据库查询结果的处理和分析。

实验环境:本实验使用MySQL数据库管理系统,并在其上进行查询实验。

MySQL是一种开源的关系型数据库管理系统,具有广泛的应用和较高的性能。

实验步骤:1. 数据库准备:创建一个包含学生信息的数据库,并插入适量的测试数据。

例如,可以创建一个名为"students"的表,包含学生的姓名、年龄、性别等字段。

2. 查询语句编写:根据实验需求,编写相应的查询语句。

例如,查询所有男生的姓名和年龄,或者查询年龄大于18岁的学生信息等。

3. 查询语句执行:将编写好的查询语句在MySQL数据库中执行,并观察查询结果。

4. 查询结果分析:对查询结果进行分析,验证查询语句的准确性和查询结果的完整性。

5. 查询优化:根据实验结果,对查询语句进行优化,提高查询效率。

例如,可以使用索引、优化查询条件等方法来加速查询过程。

实验结果:通过实验,我们发现查询语句的编写和优化对查询效率和结果的准确性有着重要影响。

合理使用查询语句中的关键字、操作符和函数,能够更精确地获取所需数据。

同时,通过对查询语句的优化,可以减少数据库的查询时间,提高系统的性能。

在实验中,我们还发现了一些常见的错误和问题。

例如,查询语句中的条件错误、字段拼写错误等,都会导致查询结果不准确或者查询失败。

因此,在编写查询语句时,需要仔细检查语法和逻辑,确保查询的准确性和可靠性。

此外,我们还了解到了数据库索引的重要性。

通过在适当的字段上创建索引,可以大大加快查询的速度。

数据库查询的实验报告

数据库查询的实验报告

数据库查询的实验报告数据库查询的实验报告引言:数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。

本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。

实验目的:1. 理解数据库查询的基本概念和原理;2. 掌握使用SQL语句进行数据库查询的方法;3. 分析不同查询语句的执行效率和优化策略。

实验步骤:1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。

2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。

3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。

4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。

5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。

6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效性。

实验结果与讨论:通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率有重要影响。

以下是我们的实验结果和讨论。

1. 基本查询:基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。

我们发现,基本查询的执行效率较高,查询结果准确。

然而,在处理大量数据时,查询时间可能会增加。

为了提高效率,我们可以使用LIMIT子句限制返回的记录数。

2. 条件查询:条件查询是根据特定条件筛选数据的查询方式。

我们使用WHERE子句来指定查询条件,并发现查询结果的准确性和效率与查询条件的选择有关。

使用索引字段作为查询条件可以大大提高查询效率。

3. 排序查询:排序查询是根据指定字段的顺序对查询结果进行排序的方式。

我们使用ORDER BY子句来指定排序字段,并观察到排序查询的执行效率较高。

然而,对于大规模数据集,排序操作可能会导致性能下降。

数据库查询实验报告doc

数据库查询实验报告doc
3. 发布执行命令,查看查询结果;若是结果不正确,进行修改,直到正确为止。
4. 查询分析器及利用方式。
查询分析器是在开发数据库应用
系统时利用最多的工具。查询分析器的
要紧作用是编辑Transact-SQL,将其发
送到效劳器,并将执行结果及分析显示
出来(或进行存储)。查询分析功能主
要通过测试查询本钱,判定该查询是不是
from 学生表,班级表
where 学生表.班级编号=班级表.班级编号
and 学号 in(
select 学号
from 选课表
where 课程编号 in (
select 课程编号
from 课程表
where 课程名='数据库'
)
);
/*查询学生XX15121选修课程的总学分。*/
SELECT SUM(学分) 总学分
)=(select count(*) from course)
--法三
select Sname
from student
where Sno in
(
selhaving count(*) = (select count(*) from course)
)
--(11)求选修了学生“”所选修的全数课程的学生学号和姓名。
where cno not in
(
select cno from student s,sc
where s.sno=sc.sno and sname like '王%' and co=sco
)
--(10)查询选修了全数课程的学生的姓名。(请至少写出两种查询语句)
--法一
select Sname
from student s

数据库数据查询实验报告

数据库数据查询实验报告

数据库数据查询实验报告一、实验目的本次实验的目的是熟悉数据库查询的基本操作,包括基础查询、条件查询、排序查询、嵌套查询、分组统计查询等。

二、实验环境本次实验使用MySQL数据库,使用的工具是Navicat for MySQL。

三、实验步骤1、基础查询基础查询即查询表中的所有数据,操作方法如下。

(1)进入查询工具,在“表名”下拉菜单中选择要查询的表。

(2)点击“查询”按钮即可查询出表中的所有数据。

2、条件查询条件查询即根据某些条件筛选出符合条件的数据,操作方法如下。

(1)在“条件”栏中输入筛选条件,如“WHERE name = ‘张三’”,表示筛选出姓名为“张三”的数据。

3、排序查询排序查询即按照某个字段对数据进行排序,操作方法如下。

(1)在“排序条件”中输入排序条件,如“ORDER BY age DESC”,表示按照年龄降序排序。

4、嵌套查询嵌套查询是在查询语句中嵌套另一个查询语句,目的是为了解决多个表之间的关联查询问题。

操作方法如下。

(1)在查询语句中嵌套另一个查询语句,如“SELECT * FROM table1 WHERE id IN (SELECT id FROM table2)”,表示查询出table1表中id在table2表中也存在的数据。

5、分组统计查询分组统计查询即根据某个字段对数据进行分组,再对每组数据进行统计分析,操作方法如下。

(1)在查询语句中使用“GROUP BY”语句对数据进行分组,如“SELECT name, COUNT(*) FROM table GRO UP BY name”,表示按照姓名分组,并统计每组中数据的数量。

四、实验总结本次实验通过对MySQL数据库查询的基本操作进行了学习和实践,掌握了基础查询、条件查询、排序查询、嵌套查询、分组统计查询等知识点。

通过实验的完成,深入了解了数据库查询的方法和技巧,提高了对数据库的应用能力。

数据库原理实验报告(数据查询)

数据库原理实验报告(数据查询)

数据库原理实验报告实验三数据查询班级:×××姓名:×××学号:×××数据查询一、[实验目的]1.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作二、[实验内容]本实验的主要内容是:1.简单查询操作。

包括投影、选择条件表达,数据排序,使用临时表等。

2.连接查询操作。

包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

4.组合查询与统计查询。

(1)分组查询实验。

该实验包括分组条件表达、选择组条件的表达方法。

(2)使用函数查询的实验。

该实验包括统计函数和分组统计函数的使用方法。

(3)组合查询实验。

(4)计算和分组计算查询的实验。

三、[实验方法]1.将查询需求用Transact-SQL语言表示。

2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。

3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。

4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。

5查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。

查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。

图5- 错误!未定义书签。

SQL Server 2000查询分析器查询分析器的界面如图5- 错误!未定义书签。

所示。

在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。

实验三 数据库中的数据查询及视图操作实验报告

实验三  数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。

通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。

二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。

三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。

2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。

四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。

假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。

a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。

b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。

c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。

d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。

e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。

实验六 数据库的查询数据库的查询 实验报告

实验六 数据库的查询数据库的查询 实验报告

实验6 数据库的查询(三)一.实验名称:数据库的查询(三)二.目的和要求:(1)掌握数据汇总的方法。

(2)掌握SELECT语句的GROUP BY子句的作用和使用方法。

(3)掌握SELECT语句的ORDER BY子句的作用和使用方法。

三.实验准备(1)了解数据汇总的方法。

(2)了解SELECT语句的GROUP BY子句的作用和使用方法。

(3)了解SELECT语句的ORDER BY子句的作用和使用方法。

四.实验时间:2011年4月28日五.实验设备和实验环境:(1) PC机。

(2) SQL Server 2000。

六.实验内容:1.数据汇总(1)求数学系学生的平均年龄。

在查询分析器的编辑窗口输人如下语句并执行。

SELECT A VG(Sage) AS ‘数学系平均年龄’FROM StudentWHERE Sdept=’CS’思考与练习:查询数学系学生的最高年龄和最低年龄。

select max(sage) as '最高年龄',min(sage) as '最低年龄'from studentwhere sdept='math'(2)求选修数据库系统学生的平均成绩。

在查询分析器的编辑窗口输入如下的语句并执行:SELECT A VG(Grade) AS ‘数据库系统平均成绩’FROM ScWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=’数据库系统’)思考与练习:求选修数据库系统学生的最高成绩和最低成绩。

select max(grade) as '最高成绩',min(grade) as '最低成绩'from scwhere cno=(select cnofrom coursewhere cname='数据库')(3)求数学系学生的总人数。

在查询分析器的编辑窗口输入如下的语句并执行:SELECT COUNT(Sno)FROM StudentW HERE Sdept=‘数学系’思考与练习:统计选修数据库系统课程成绩大于等于90分的人数。

数据库查询实验报告

数据库查询实验报告

数据库查询实验报告
本实验旨在通过使用数据库技术来解决以下问题:结合财务报表与项目管理软件,可
以提高企业的决策效率吗?
为了探究该问题,我们选取了两个组作为实验对象。

第一组(对照组)使用财务报表,第二组使用财务报表和项目管理软件(即数据库)相结合。

我们把第一组和第二组分别称
为A组与B组。

A组采用传统的(不使用数据库)财务报表,B组采用财务报表和项目管
理软件(包括用户管理、日志跟踪、任务追踪、KPI报表)相结合的方法。

实验过程中,我们让A组和B组的团队分别完成了一个财务领域的项目——预算制定。

实验的主要指标包括完成时间、错误率等。

实验结果表明,在项目完成时间方面,使用财务报表和项目管理软件的B组的完成时
间明显缩短,较A组减少了约30%的时间;而在错误率方面,B组的错误率低于A组,有
效减少了约20%的错误。

综上所述,由实验结果可以看出,采用财务报表和项目管理软件相结合的方法,可以
有效提高企业的决策效率。

而且由于可以通过项目管理软件及时发现问题,从而有效预防
企业出现大错误,进一步提升企业的决策效率。

数据库实验报告 数据查询

数据库实验报告  数据查询
SELECT MIN (出生日期), MAX (出生日期)
FROM学生
(20)查询学生的总人数。
SELECT COUNT(*)AS人数
FROM学生
2、复杂查询
(21)如果要统计成绩表中所有选课的学生人数,即不管一名学生选了几门课程,都只计算一次
SELECT COUNT (DISTINCT (学号)) AS人数
(12)列出教工中比姜立伟工资低的姓名和工资。
SELECT R.姓名,R.工资
FROM教工R,教工S
WHERE R.工资<S.工资AND S.姓名='姜立伟'
(13)查出所有不是教授的教工姓名。
SELECT姓名
FROM教工
WHERE职称NOT LIKE '教授'
(14)检索工资在1000元到2000元范围内的职工信息。
SELECT *
FROM教工
WHERE职称='教授'
(3)列出教工表中的系编号并消除重复的元组。
SELECT DILeabharlann TINCT系编号FROM教工
(4)已知学分=学时/17,计算每一门课程的学分数。
SELECT课程名称,学时/17 AS学分
FROM课程
(5)显示教授的工资和提高10%的工资额。
SELECT姓名,工资,工资*1.1 AS '工资*1.1'
(32)统计无先修课的课程的学时总数;
(33)统计每位学生选修课程的门数、学分及其平均成绩;
(34)统计选修每门课程的学生人数及各门课程的平均成绩;
(35)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排
列;
(36)查询选修了“1”或“2”号课程的学生学号和姓名;

数据库实验(实验七数据查询)实验报告答案

数据库实验(实验七数据查询)实验报告答案

实验7数据查询【实验内容】7.1单表查询1、指定列或全部列查询1) 查询S表中全体学生的详细记录use jxsk select * from S出言岂select - f Tdtt s|.1结杲SEX AGE DEPT NATEVEJ_a,i soi王青山19计算机NULL2SI—赵亦17软件MULL 35218计算机NULL4S3弓綽明胃IS信息NULL554李四21包动ft NULL&S519软件NULL756昊丽20计算机NULL8S7范思明女ie NULL9S820自动化NULL10S919枫牛NULL2) 查询所有学生的姓名及其岀生年份。

use jxsk select SN, 2012 - AGEfrom S1「王諭】1&932赵亦1995J钱尔15944號慣明隔&李四1S516周展憫15537昊丽13828范思明1994S?«1S9210张海涛2、按条件查询及模糊查询1)查询考试成绩有不及格的学生的学号。

use jxsk selectdistinct SNOfrom SCwhere SCORE<602)查询年龄在20 —23岁之间的学生的姓名、系名和年龄use jxsk select SN,DEPT, AGEfrom Swhere AGE>=20 and AGE<= 30□ us* select 5N, DEET, troni 5L AGE>=20 ard AGE<-30V结果J消息| SH DEPT ,<SE1[ SS'J自动化212昊丽计算机203补珊自动化203)查询姓李的学生的姓名、学号和性别。

use jxsk select SN, SNO, SEXfrom S where SNlike '李%'□ use jxsk select ^NO f SEX from 5 wriere EE 丄是'李虽「Array4) 查询名字中第二个字为明”字的男学生的姓名和系名use jxsk select SN, DEPTfrom Swhere SNlike '_% 明’and SEX='男’SN DEPTi !信息h^iiiiauaB in KI ■■■■■&■■■■#3、对查询结果排序1) 查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。

数据库查询实验报告

数据库查询实验报告

实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年12 月10 日教务处制:在 INTO 子句中指出了表名 student,并指出了新增长旳元组在哪些属性上要赋值,属性旳次序可以与 CREATE TABLE 中旳次序不一样样。

INSERT INTO "S-C"."STUDENT"VALUES('','张成民','男','18','CS' );select* from "S-C"."STUDENT":值与属性要一一对应。

INSERT INTO "S-C".sc (sno,cno)VALUES('','1');SELECT*from "S-C".sc;:在新插入旳记录中 GRADE 列自动地赋空值。

或者: INSERT INTO "S-C".scVALUES('','1',null);SELECT*from "S-C".sc;:若直接在 SC 中直接插入选课记录,由于没有指出 SC 旳属性名,在 GRADE 列上要明确给出空值NULL。

创立新表CREATE TABLE dept_age(sdept CHAR (15),avg_age smallint);把系名和平均年龄存入新表insertinto dept_age(Sdept,avg_age) select sdept,avg(sage)from "S-C".studentgroup by sdept;UPDATE "S-C"."STUDENT"SET Sage=22WHERE sno=;select*from "S-C".student;UPDATE "S-C"."STUDENT"SET Sage=sage+1;select*from "S-C".student;UPDATE "S-C"."SC"SET Grade=0where sno in(select snofrom "S-C".studentwhere sdept='cs');SELECT*FROM "S-C".SC;DELETEfrom "S-C".studentWHERE sno='';select*from "S-C".student;DELETEFROM "S-C".SC;SELECT*FROM "S-C".SC;:这条 DELETE 语句将使 SC 成为空表,它删除了 SC 旳所有元组。

数据库简单查询实验报告

数据库简单查询实验报告
本科生实验报告 (一)
姓名: 学院: 专业: 班级: 实验课程名称:数据库原理 开课时间:
实验题目
数据查询(简单查询) 小组合作
姓名
班级
一、实验目的
(1)掌握 SELECT 语句的语法 (2)掌握基于单表的查询方法 (3)掌握基于多表的查询方法 (4)掌握相关与不相关的嵌套查询 (5)掌握使用 UNION 的集合查询
select shopno,prono from sale where amount is null
select prono,proname from product where proname like'海尔__%'and proprice>2000
(4) select * from product order by proprice desc,proname asc
实验总结:
本次实验使用 sql sever 在企业管理器和中创建表,同时使用了 T-SQL 语句 进行单表查询以及多表查询,第一次建表时没有设置好关系导致多表查询时 出现了一些问题,后来在同学的帮助下解决了问题,那些不懂的地方以后一 定多加注意。
Amount
int
2.利用企业管理器向表中插入记录
N
商店号,外码 合为主码
N
商品号,外码
Y
销售量
商店表 Shop 的内容
ShopNo S01
ShopName 乐购
ShopAddress 上海
S02 S03 S04
ProNo P01 P02 P03 P04
ShopNo S01 S01 S01 S02 S02 S03 S03 S03
二.实验环境
WINDOWS 7+SQL SERVER 2005

数据库-数据查询实验报告.doc

数据库-数据查询实验报告.doc

实验报告课程名称数据库原理与应用实验名称数据查询系别专业班级指导教师学号姓名实验日期_实验名称:数据查询一、实验目的1.熟悉各种基本的数据查询的含义。

2.掌握数据查询的SQL语句编写方法。

3.能根据要求写出正确的查询语句。

4.掌握基本的调试方法。

二、实验环境1.硬件环境:微机2.软件环境:Windows,Sql server2000或更高版本三、实验内容及步骤题目根据要求编写以下SQL查询语句第一题简单查询1.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电话)。

2.查询病人表,显示病人编号、病人姓名(病人姓+病人名)、保险公司名称,并在每个“电话号码”前面显示字符串“病人电话:”。

3.查询病人表,要求显示保险公司名称,并消除重复的值。

4.查询病人表,要求只显示前五条的全部病人信息。

5.查询病人表,要求显示最年轻的前6位病人的病人编号,病人姓名,病人年龄6.给医生表取别名:doctors,并显示医生表的所有信息7.要求查询在“人民保险公司”投保的所有病人的信息8.要求查询病人年龄在20~60岁之间的所有病人信息9.要求查询姓“王”、姓“李”或姓“关”的所有病人的信息。

(提示:用“in”或者用“or”两种方法查询。

)10.查询电话号码为空的病人信息11.要求按年龄从大到小显示病人信息12.要求先按病人姓的升序;如果姓一样,再按年龄的降序,来显示病人信息13.要求查询电话号码的最后一个数字为6的病人编号,病人姓名,电话号码14.要求查询倒数第二个数字为7的病人编号,病人姓名,电话号码。

15.要求查询除区号外的第二个数字为2的病人编号,病人姓名,电话号码。

(注:手机号不算。

)16.要求查询电话号码的最后一个数字为6、为3、为1的病人编号,病人姓名,电话号码。

(注:至少两种方法可以实现)17.要求查询电话号码的最后一个数字除1、3、6外的病人编号,病人姓名,电话号码。

步骤(写出以上SQL语句)--1.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电话)。

数据库的查询实验实验报告

数据库的查询实验实验报告
values('g9940305','孙彦巧','g99404')
因为班级号g99404在class表中不存在,由于class_id的外键约束,插入不成功,结果截屏如下:
图六
4、删除教师表中的所有数据,验证参照完整性约束;
使用Transact-SQL代码删除如下:
delete
from[dbo].[teacher]
使用sa用户访问操作,在student表中新增一条条目的实验截图如下:
图十五
如上图,新增条目的操作成功。
然后使用Transcat-SQL语句更改数据代码如下:
update[dbo].[student]
setstudent_name='彦巧'
wherestudent_name='孙彦巧'
实验截图如下:
执行结果如下:
图二
原因是student_course表中有如下的数据,表中的course_id在course表中不存在。
图三
从表中删除这两组数据之后,设置外键则可以成功。
2、向学生表插入具有相同学号的数据,验证其实体完整性约束;
Student表中原有数据如下:
图四
使用Transact-SQL语句插入如下:
grantselectonstudenttoshihexp
grantselectonstudent_coursetoshihexp
grantselectonteachertoshihexp
grantselectonteacher_course_classtoshihexp
使用企业管理器操作的实验截图如下:
数据库的查询实验
——实验报告

数据库数据查询实验报告

数据库数据查询实验报告
(39)查询数据库课程的成绩大于70分的、所有课程平均分最高的学生信息。
selecttop(1)*from学生where学号in
(select学号from选课join课程
on选课.课程编号=课程.课程编号
where成绩>70and课程名称='数据库')
(40)查询每个学生的平均成绩。
select学号,avg(成绩)as平均成绩
(15)使用TOP显示前若干记录的查询
select top 3 * from学生
(16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示
select top 3 * from学生
where生源='淮南'
(17)两个关系的连接查询。
select * from学生cross join选课
(25)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师的教师信息,又能反映目前没有确定责任教师的课程信息
select姓名,职称,课程名称,课程性质
from教师fulljoin课程
on课程.责任教师=教师.教师编号
(26)使用IN运算的简单嵌套查询。
(37)一次完成求和、计数、计算平均值的查询。
select * from教师
compute sum(工资),avg(工资)
(38)查询所有课程的成绩都大于60分的学生的平均分最高的学生信息。
select学号,avg(成绩)平均成绩
from选课
where成绩>60
groupby成绩,学号
orderby成绩desc
(select max(工资)
from教师innera

数据库实验报告实验二参考答案[最终版]

数据库实验报告实验二参考答案[最终版]

数据库实验报告实验二参考答案[最终版]第一篇:数据库实验报告实验二参考答案[最终版]1.你的老板要求你创建一个数据量为20G的数据库,但是你现在的硬盘上没有一个这么大空闲容量的分区,只有3个空闲容量为8G的分区,请问,你该如何完成这个任务?答:为该数据库创建3个数据文件,每个数据文件只需保存小于8G的数据,将这3个数据文件分别存储在不同的硬盘分区即可。

注:数据库中的数据都保存在该数据库的若干数据文件中,而非日志文件!2.你想创建一个初始大小为2MB的数据库,但是你却发现你创建的数据库的初始大小是5MB,而且不能小于这个值,请问是什么原因?答:系统数据库中的model数据库为用户创建数据库提供模板,也就是说,在创建数据库时,数据库引擎首先通过复制 Model 数据库中的内容来创建数据库的第一部分,然后再用空页填充新数据库的剩余部分。

因此,用户创建的数据库的初始大小不能小于model数据库的大小。

该问题的原因在于model数据库数据文件的初始大小被设定为5MB。

/***************************SQL语言部分*****************************/ /*创建数据库student*/create database studenton(name=student_data,filename='C:DATAstudent_data.mdf', size=3,maxsize=unlimited,filegrowth=1)log on(name=student_log,filename='C:DATAstudent_log.ldf',size =1,maxsize=20,filegrowth=10%)/*修改数据库student--添加数据文件*/alter database student add filegroup studata /*先增加一个文件组studata*/ goalter database studentadd file(Name=student_data1,filename='D:DATAstudent_data1.nd f',Size=50,Maxsize=500,Filegrowth=30%)to filegroup studata /*删除数据库student */ drop database student第二篇:SQL数据库实验报告实验二实验2SQL Server数据库的管理1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。

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

数据库数据查询实验报告和答案韶关学院学生实验报告册实验课程名称:数据库技术与应用实验项目名称:数据库的数据查询实验类型(打√):(基础☑、综合、设计)院系:专业班级:姓名学号:指导老师:韶关学院教务处编制一、实验预习报告内容预习日期:10月10月22日(星期二第七八节)实验同组人:如有实验数据表格,学生在实验预习时应画好实验数据表格,供实验时填写数据(本页如不够,可另附相同规格的纸张)。

指导教师批阅及签名签名:年月日三、实验报告内容9月24日实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果(疑问)分析等项目。

实施内容:一、根据实验要求完成实验:(写明步骤和截图)1、在数据库studentsdb中,新建表studentdb_info,curriculum,grade。

并输入相应的数据,如图1、2和3所示。

图1图2图32、在studentsdb数据库中,使用下列SQL语句将输出什么?(1)selectcount(*)fromgrade结果如图4所示:图4(2)selectsubstring(学生姓名,1,2)fromstudent_info结果如图5所示:图5(3)selectupper(kelly)结果如图6所示:图6(4)selectreplicate(kelly,3)结果如图7所示:图7(5)selectsqrt(分数)fromgradewhere分数>=85结果如图8所示:图8(6)select2,3,power(2,3)结果如图9所示:图9(7)selectyear(getdate()),month(getdate()),day(getdate())结果如图10所示:图102、在studentsdb数据库中使用select语句近基本查询。

(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。

执行如下语句:select学号,学生姓名,出生日期fromstudent_info结果如图11所示图11(2)查询学号为0002的学生的姓名和家庭住址执行如下语句:select学生姓名,家庭地址fromstudent_infowhere学号=0002结果如图12所示图12(3)找出所有男同学的学号和姓名。

执行如下语句:select学号,学生姓名fromstudent_infowhere性别=男结果如图13所示图133、使用select语句进行条件查询。

(1)在grade表中查找分数在80~90范围内的学生的学号和分数。

执行如下语句:select学号,分数fromgradewhere分数between80and90结果如图14所示图14(2)在grade表中查询课程编号为0003的学生的平均分。

执行如下语句:selectavg(分数)as平均成绩fromgradewhere课程编号=0003结果如图15所示图15(3)在grade表中查询学习各门课程的人数。

执行如下语句:select课程编号,count(课程编号)as课程人数fromgradegroupby课程编号结果如图15所示图15(4)将学生按出生日期由大到小排序。

执行如下语句:select*fromstudent_infoorderby出生日期desc结果如图16所示图16(5)查询所有姓“张”的学生的学号和姓名。

执行如下语句:select*fromstudent_infowhere学生姓名like张%结果如图17所示图174、嵌套查询(1)在student_info表中查找与“刘卫民”性别相同的所有学生的姓名、出生日期。

执行如下语句:select学生姓名,出生日期fromstudent_infowhere 性别=(select性别fromstudent_infowhere学生姓名=刘卫平)结果如图18所示图18(2)使用in子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。

执行如下语句:select学号,学生姓名,性别fromstudent_infowherestudent_info.学号in(select学号fromgradewhere 课程编号in(0002,0005))结果如图19所示图19(3)列出学号为0001的学生的分数比0002号学生的最低分数高的课程编号和分数。

执行如下语句:select课程编号,分数fromgradewhere学号=0001and 分数>any(select分数fromgradewhere学号=0002)结果如图20所示。

图20(4)列出学号为0001的学生的分数比学号为0002的学生的最高成就还要高的课程编号和分数。

执行如下语句:select课程编号,分数fromgradewhere学号=0001and 分数>all(select分数fromgradewhere学号=0002)结果如图21所示。

图215、多表查询(1)查询分数在80~90范围内的学生的学号、姓名、分数。

执行如下语句:selectstudent_info.学号,学生姓名,分数fromstudent_info,gradewherestudent_info.学号=grade.学号and分数between80and90结果如图22所示图22(2)、查询学习“C语言程序设计”课程的学生的学号、姓名和分数。

执行如下语句:selectstudent_info.学号,学生姓名,分数fromstudent_infoinnerjoingradeonstudent_info.学号=grade.学号innerjoincurriculumongrade.课程编号=curriculum.课程编号and课程名称=C语言程序设计结果如图23所示。

图23(3)查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。

执行如下语句:selectstudent_info.学号,学生姓名,课程名称,分数fromstudent_infoleftouterjoingradeonstudent_info.学号=grade.学号leftouterjoincurriculumoncurriculum.课程编号=grade.课程编号where 性别=男结果如图24所示图24(4)在查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号、分数。

执行如下语句。

selectstudent_info.学号,学生姓名,curriculum.课程编号,分数fromstudent_infoinnerjoingradeonstudent_info.学号=grade.学号innerjoincurriculumongrade.课程编号=curriculum.课程编号where分数=(selectmax(grade.分数)fromgradewherestudent_info.学号=grade.学号)结果如图25所示图25(5)查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有没有选修课程的学生的总成绩为空。

执行如下语句:selectstudent_info.学号,学生姓名,总成绩fromstudent_infoleftouterjoin(select学号,sum(分数)as总成绩fromgradegroupby学号)gradeonstudent_info.学号=grade.学号结果如图26所示图26(6)为grade表添加数据行:学号0004、课程编号为0006、分数为76。

查询所有课程的选课情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。

执行如下语句:insertgradevalues(0004,0006,76,null)selectgrade.课程编号,课程名称,grade.选修人数fromcurriculumrightouterjoin(select课程编号,count(课程编号)as选修人数fromgradegroupby课程编号)gradeongrade.课程编号=curriculum.课程编号结果如图27所示图276、使用union运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称。

执行如下语句:select学号asu_编号,学生姓名asu_名称fromstudent_infowhere学生姓名like张%unionselect课程编号asu_编号,课程名称asu_名称fromcurriculum结果如图28所示图287、数据更新(1)创建totalgrade表,具有数据列:学号、姓名、总成绩。

执行如下语句:createtabletotalgrade(学号char(4)notnull,学生姓名varchar(8)null,总成绩decimal(5,2)null)结果如图29所示图29(2)使用insertinto语句通过student_info表更新totalgrade表的学号、姓名列数据。

执行如下语句:insertintototalgradeselect学号,学生姓名,总成绩=0fromstudent_info结果如图30所示:图30(3)使用update语句通过grade表更新totalgrade表的总成绩列数据,使totalgrade表中每一个学生的总成绩为grade表中该学生各成绩之和。

执行如下语句:updatetotalgradeset总成绩=(selectsum(分数)fromgradewheretotalgrade.学号=grade.学号)fromgrade结果如图31所示:图31效果如图32所示图32(4)删除totalgrade表中没有总成绩的学生记录。

执行如下语句:deletefromtotalgradewhere总成绩isnull结果如图33所示,效果如图34所示。

图33图34实验思考1、查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。

执行如下语句:select学号,学生姓名,性别fromstudent_infowhere 学号notin(select学号fromgrade)结果如图35所示图352、在student_info表和grade表之间实现交叉连接。

执行如下语句:selecta.学号,a.学生姓名,a.性别,a.出生日期,a.家庭地址,b.课程编号,b.分数fromstudent_infoacrossjoingradeb结果如图36所示图363、查询每个学生的所选课程的成绩,并列出学号生成分组汇总行(总成绩)和明细行(各科成绩)执行如下语句:select学号,分数fromgradeorderby学号computesum(分数)by学号结果如图37所示图37实验小结:实验报告评分:注:1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。

相关文档
最新文档