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

《数据库导论》实验报告-实验四实验报告 实验4 数据查询 1.实验目的 (1)掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 (2)掌握使用SELECT语句进行条件查询的方法。 (3)掌握SELECT语句的GROUP BY、ORDER BY以及UNION子句的作用和使用 方法。 (4)掌握嵌套查询的方法。 (5)掌握连接查询的操作方法。 ★ 查询语句基本格式: select 字段名 from 表名 [where ... ] 说明:select - 关健字; 字段名必须写,最少选一个, 如查询全部字段,则 阅读详情

实验 2 数据查询

 

一、实验目的

1.理解数据库中数据的其他查询方法和应用;

2.学会各种查询要求的实现;

3.学会各种查询的异同及相互之间的转换方法。

 

二、实验内容

在实验 1 的基础上,练习其它查询语句的使用,包括计算列、求和、最大、最小值、各类选择条件、字符匹配、分组和排序,连接查询、嵌套查询及 EXISTS 查询等,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。

  1. 查询供应商号码为 S1 的供应商的名称 SNAME,所在城市 CITY
  2. 查询颜色为红色的零件号码
  3. 查询工程所在地为天津的工程名称 JNAME
  4. 查询供应商号和名称,分别用小写字母和大写字母表示供应商代码
  5. 查询零件的详细信息,用结果属性名用中文显示。
  6. 查询供应工程 J1 零件 P1 的供应商号 SNO
  7. 查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应  商的名称降序排序
  8. 查询使用供应商 S1 所供应零件的工程号码
  9. 查询各种零件的平均重量
  10. 查询零件的总个数

 

  1. 查询所有以“螺”字开头的零件的零件号、零件名和颜色
  2. 查询各个供应商供应的零件 P3 总数量
  3. 供应工程 J1 红色零件的供应商号 SNO
  4. 工程项目 J2 使用的各种零件的名称及数量
  5. 使用上海产的零件的工程的名称
  6. 所有项目的使用零件的情况(无论有没有使用零件),包括项目代码、项目名称、  零件代码和零件数量
  7. 供应商 S1 和 S3 供应的相同的零件编号
  8. 没有使用天津产的零件的工程号码
  9. 没有使用天津供应商生产的红色零件的工程号
  10. 至少用了供应商 S1 所供应的全部零件的工程号 Jno

三、实验代码及方法

/*查询供应商号码为 S1 的供应商的名称 SNAME,所在城市 CITY*/ Select Sname,City

From S

Where SNO='S1';

方法:用 where 条件语句按行从 s 表中进行查询,符合就 Select,不符合就跳过查询结果如下

 

 

 

 

 

 

 

/*查询颜色为红色的零件号码*/ Select PNO

From P

Where Color='红';

 

/*查询工程所在地为天津的工程名称 JNAME*/ Select Jname

From J

Where City='天津';

 

/*查询供应商号和名称,分别用小写字母和大写字母表示供应商代码*/ Select SNO,lower(SNO) as sno,SNAME/*划重点*/

From S

方法:在 sql 语言中,不区分大小写,在输出时 Select 用的什么名就输出什么名,Sno 输出 Sno,SNo 输出 SNo,或者特别标明 lower(Sno)自动转化成小写。

 

 

查询结果如下

 

 
  

 

 

 

/*查询零件的详细信息,用结果属性名用中文显示。*/

Select Pno as 零件号码,Pname as 零件名,Color as 颜色,Weight as 重量From P

//as 可以省略,直接跟别名

/*查询供应工程 J1 零件 P1 的供应商号SNO*/ Select SNO

From SPJ

Where JNO='J1' AND PNO='P1';

//双重 and 条件并列成立

/*查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应商的名称降序排序*/

Select Sname,City From S

Order by City,Sname desc;/*划重点*/

 

 
  
//若要按某一列排序,需用 order by 在其列表名加上 desc 标识符,默认升序。有多个参照时,按顺序优先排序。

 

 

/*查询使用供应商 S1 所供应零件的工程号码*/ Select Distinct JNO

From SPJ Where PNO IN

(Select Pno From  SPJ Where SNO='S1'

);

//使用嵌套查询,In 的不相关子查询

 

 

 

/*查询各种零件的平均重量*/

Select Pno,Avg(Weight) as Avg_Weight From P

Group by PNO;

//使用了 Avg 的聚集函数,并且是在 Group by 分组的基础上,Avg 会单独操作分组后的每一个组, 并输出结果。所有聚集函数都是这样

 

/*查询零件的总个数*/ Select Sum(QTY) as Sum_QTY From SPJ;

 

/*查询所有以“螺”字开头的零件的零件号、零件名和颜色*/ Select PNO,PNAME,COLOR

From P

Where Pname like '螺%';/*划重点*/

//‘a%’表示以‘a’开头的无长度限制的字符串,‘a%d’表示以‘a’开头,‘b’为结尾的任意长

//度字符,要用 like 谓词。

/*查询各个供应商供应的零件 P3 总数量*/ Select DISTINCT SNO,Sum(QTY) as Sum_P3 From SPJ

Where PNO='P3' Group by SNO;

//在 SPJ 表里用 SNO 分组(去掉重复列),再用 PNO=’P3’的限定条件,就可以用聚集函数 SUM 将

//QYT 求和了。

/*供应工程 J1 红色零件的供应商号 SNO*/ Select Distinct SNO

From SPJ

Where Jno='J1'and PNO In

(

Select PNO From P

Where Color='红'

);/*划重点*/

//首先确定供应工程为 J1,然后再找出红色零件对应的 Pno,用 In 来查出供应商 Sno

 

 

 

查询结果

 

 
  

 

 

 

/*工程项目 J2 使用的各种零件的名称及数量*/ Select Pname,Qty

From P,SPJ

Where SPJ.PNO=P.PNO AND SPJ.JNO='J2';

//使用了连接查询,先把 Spj 表中的属于 J2 的挑出来,然后用这个表与P 表进行自然连接

/*使用上海产的零件的工程的名称*/ Select JNAME

From J,SPJ

Where J.JNO=SPJ.JNO AND PNO in(

Select PNO From SPJ Where SNO in( Select SNO From S

Where City='上海'

)

) AND SNO IN(Select SNO

From S

Where City='上海');

//用了三次嵌套查询

/*所有项目的使用零件的情况(无论有没有使用零件),包括项目代码、项目名称、零件代码和零件数量*/

Select J.JNO,JNAME,P.PNO,QTY From J,P,SPJ

Where J.JNO=SPJ.JNO AND P.PNO=SPJ.PNO/*执行过程是什么?*/ Order by JNO,PNO

//首先找到 J 表出一个元组,跟spj 按行进行对比,把所有 Jno 相同的连接在一起,直到 J 表检索完

//毕,并且以 JNO 和 PNO 升序排序

 

/*供应商 S1 和 S3 供应的相同的零件编号*/

Select PNO

From SPJ

Where SNO='S1'AND PNO IN(

Select PNO

From SPJWhere SNO='S3'

);

//要找到 S1 和 S3 供应相同的零件标号,首先先找到 S1 的所有元组,然后 AND 嵌套 S3 对应元组,找

//到 S1 的 PNO 与其相同,之后直接 Select 出 PNO 即可。

/*没有使用天津产的零件的工程号码*/

Select JNO

From SPJ

Where JNO Not in

(Select Jno

From SPJ

Where PNO in

(Select Pno

From SPJ,S

Where SPJ.SNO=S.SNO AND S.City='天津'));

//三层嵌套查询,先找到天津产的零件对应的 JNO,再用 NOt In 即可查出

/*没有使用天津供应商生产的红色零件的工程号*/

Select JNO

From SPJ

Where Jno not in

(Select Jno

From SPJ

Where PNO in(

Select SPJ.PNO

From SPJ,S,P

Where SPJ.SNO=S.SNO AND P.PNO=SPJ.PNO AND S.CITY='天津' AND P.COLOR='红'

)

);

/*至少用了供应商 S1 所供应的全部零件的工程号 Jno*/

Select Distinct Jno

From Spj Spjx

Where Not Exists

(

Select *

From Spj Spjy

Where Sno='s1' And Not Exists

(

Select *

From Spj Spjz

Where Spjx.Jno= Spjz.Jno And Spjy.PNO=Spjz.Pno

)

);/* 查百度 *///问题可以等价为不存在一个 Jno,没有使用 s1 供应的全部零件,还是绕不过弯,老是不明白为什

//么会因为这句话就能写出这串代码

四、实验所遇问题及其解决方法

1. 在查询各个供应商供应的零件 P3 总数量的问题中,查出以下结果,与题不符,

对照代码,发现了问题,题意没读清楚

Select Sum(QTY) as Sum_P3

From SPJ

Where PNO='P3'

改:Select DISTINCT SNO,Sum(QTY) as Sum_P3

From SPJ

Where PNO='P3'

Group by SNO;

解决完毕

2.在至少用了供应商 S1 所供应的全部零件的工程号 Jno 中,读了好几遍也不会,没有思路,

然后询问了老师,老师讲了一遍,把大体框架讲了出来,又听老师的看了书上的

题目,有了那么一点明白,多写了几遍,加深了一下印象。多做这种类型的题,

吃的透透的。

五、实验心得

 

 

 

《复杂数据查询》数据库实验报告 通过本次数据库实验,掌握了[NOT]EXISTS的查询,掌握了表达全称量词和逻辑蕴涵的查询,理解集合操作,理解窗口函数的作用和使用方法,更再次理解完成任务的查询语法有多种实现方式,要根据实际情况选择合理的方案。本次实验,巩固和复习了我的理论知识,在完成题目要求的过程中,对所学习的内容进行了扩展和实践,加深了我对知识的理解和掌握,今后继续努力,深层掌握数据库知识,感受数据库检索的魅力所在。理解完成任务的查询语法有多种实现方式,要根据实际情况选择合理的方案。级学⽣选修了所有开课课程的学⽣学号和姓名。 阅读详情

相关推荐

数据库实验三:使用SQL进行高级数据查询

在本次数据库实验中,我们将学习如何使用SQL进行高级数据查询。SQL(Structured Query Language)是一种用于管理关系型数据库的强大语言。通过掌握SQL查询技巧,我们能够从数据库中提取符合特定条件的数据,从而满足各种数据分析和处理需求。通过学习以上内容,我们可以更加熟练地使用SQL进行高级数据查询。这些技巧能够帮助我们从大量的数据中提取有用的信息,进行更深入的数据分析和决策支持。下面,我将逐个介绍每个主题,并提供相应的源代码示例。数据库实验三:使用SQL进行高级数据查询。

CyberXZ的博客 398

数据库实验报告【数据库的简单查询和连接查询】

一、 实验目的及实验环境 数据查询是数据库中最基本的操作,也是使用最频繁的操作,因此必须掌握SQL的查询语句(SELECT语句)的使用方法。 本实验要求掌握:①简单表的数据查询时数据连接查询的操作方法 ②简单表的数据排序时数据连接查询的操作方法 ③简单表的多表操作时数据连接查询的操作方法 二、 实验内容及结果 任务1 在数据库JWGL中的学生表Student、课程表Course、学生选课表SC完成第3章例3.10~例3.28中例题的查询操作 TSQL语句的查询操作——投影 例3.10 关系代数中的投影就

cathyjqq的博客 2万+

数据库实验报告(数据库的简单查询和连接查询 )

数据库试验 数据库的简单查询和连接查询 1、使用SQL语句创建数据库和表,学会使用SQL语句修改表结构添加数据的方法,掌握如何快速的把一个表中的多行数据插入到另一个表中,掌握更新表中多行数据的方法,学会如何删除表中的一行数据,学会如何删除表中的所有行。 2、SELECT语句的基本用法,使用WHERE子句进行有条件的查询。

数据库实验报告【数据库的复杂查询】

一、 实验目的及实验环境 进一步掌握SELECT语句的使用方法,通过实验能够熟练地使用SELECT语句。 (1) 本实验要求掌握嵌套查询的操作方法。 (2) 本实验要求掌握统计查询的操作方法。 二、 实验内容及结果 任务1 在数据库JWGL的学生表Student、课程表Course、学生选课表SC中完成第3章例3.40~例3.47中的查询操作。 数据库的复杂查询——嵌套查询 这里先介绍嵌套查询,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌入到另一个查询块的WHERE子句或者是HA

cathyjqq的博客 8097

数据库 数据查询实验报告

开发本数据库用于数据库课程的学习,主要是熟练使用数据查询的相关操作以及与修改基本表的相关操作

数据库 实验 报告 总结

大三 数据库实验报告,相信对学习数据库的同学一定会有帮助的。

数据库系统原理实验报告5 | 数据查询

整理自博主本科《数据库系统原理》专业课自己完成的实验报告,希望能给各位学习数据库的小伙伴们提供一些帮助。

wyd_333的博客 3361

数据库单表查询总结

数据库单表查询的总结 还有数据库的其他总结分开上传 数据库单表查询的总结 还有数据库的其他总结分开上传

数据库实验报告 数据查询

桂 林 理 工 大 学实  验  报  告班级   软件2班        学号  3162052051734   姓名  梁振宇   同组实验者              实验名称       数据查询                                 日期 2018年 06 月05 日 一、实验目的:1.      观察查询结果, 体会SELECT语句实际应用;2.      要...

qq_40307529的博客 1万+

彻底解决0x80070005错误代码:全面分析与实战指南

0x80070005错误代码虽然令人头疼,但通过上述方法,我们完全有能力将其攻克。从检查磁盘空间、设置账号权限,到运行疑难解答和系统文件检查器,再到调整相关服务状态,每一步都是解决这一问题的关键。希望本文能为你提供有力的帮助,让你在使用Windows系统的过程中更加顺畅无忧。

nntxthml的博客 6932

POWER(十一)charge pump原理

电荷泵是一种基于电容充放电原理的DC-DC转换电路,通过开关控制实现电压转换,包括升压、降压和负压输出。其核心是利用电荷守恒原理,通过电容存储和转移电荷来改变输出电压。典型拓扑结构包括倍压电路和多阶升压电路,具有结构简单、体积小等优势。关键参数包括转换效率、输出电流能力和开关频率,适用于芯片供电、显示屏驱动等低功耗场景。LVDS部分补充说明了自举电路在驱动电路中的应用及其自同步特性。

zhlwsh的博客 2800

【数据库实验报告】索引,数据插入,数据查询

索引 建立索引 [例3.13] 为学生-课程数据库中的Student,Course,SC三个表建立索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course (Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); 修改索引 [例3.14] 将SC表的SCno索引名改为SCSno ...

Chantec的博客 1052

ST7789P3初始化配置

【代码】ST7789P3初始化配置。

zqq_1314的博客 4148

【数据库原理 实验报告4】数据查询的应用

摘要:本实验报告记录了SQL Server数据库查询操作的实践过程。实验内容包括完成课本例题3.11-3.20的查询,以及8个特定查询任务(如不及格学生查询、年龄范围查询、课程选修统计等)。通过实践,掌握了SELECT语句的基本用法,以及WHERE、ORDER BY、GROUP BY、HAVING等子句的应用技巧。实验过程中遇到并解决了字符串处理、分组筛选等问题,加深了对SQL查询语言的理解。实验结果表明,通过实践操作能有效巩固数据库查询的理论知识,提高解决实际问题的能力。

Victoria551的博客 502

【专栏导引贴】100+智能优化算法:从背景原理到代码实战(持续更新)

本专栏系统整理100+种现代优化算法,涵盖粒子群优化(PSO)、遗传算法(GA)、鲸鱼优化(WOA)等经典方法,以及白鲸优化(BWO)、非洲秃鹫优化(AVOA)等新兴算法。每篇详解包含生物启发原理、数学模型、代码实现及工程应用,采用统一编程风格,提供可直接运行的实例代码。专栏持续更新,旨在为研究者提供系统化的智能优化算法参考资料,实现从理论到实践的完整知识链。目前已收录23种算法,包括蚁群系统(ACS)、蝙蝠算法(BA)、天牛须搜索(BAS)等自然启发式优化方法。

qq_42212808的博客 3645

Open3D 读取、保存、显示点云【2025最新版】

paint_uniform_color给所有的点上一个统一的颜色。博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 37万+

【数据库原理】实验报告-实验6 SQL数据查询—单表查询

实验 目的 或 要求1、 掌握where、order by、group by等子句的含义、作用和语法格式 2、 掌握top、distinct、like、as等查询关键字的含义、作用和语法格式 3、 掌握比较运算符、逻辑运算符、范围运算符等的含义和作用 4、 掌握count、max、min、avg等聚集函数的含义和作用 5、 以“电子商务系统”数据库为例,熟练运用SQL数据查询语句完成各类单表查询问题的求解 实验 环境SQL Server 2014实验内

小比特,大梦想 2140

YOLOv9改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制

这篇文章带来一个经典注意力模块的汇总,虽然有些模块已经发布很久了,但后续的注意力模块也都是在此基础之上进行改进的,对于初学者来说还是有必要去学习了解一下,以加深对模块,模型的理解。

Limiiiing的博客 2890

【SQL Server】华中农业大学空间数据库实验报告 实验七 数据查询

选择FROM后面的TABLE,指针指向从第一条数据开始,一个一个牵引至WHERE语句中,进行筛选,如果满足WHERE语句的条件,则被SELECT筛选出来,指针在TABLE中指向下一条数据,再牵着第二条数据进入WHERE中进行筛选,一直这样操作,直到TABLE表中的所有数据都被筛选完毕。新建查询,输入代码如下所示,此代码中主要利用了一个NOT EXISTS谓词查询,该谓词最重要的为判断:NOT EXISTS括号中的SQL语句是否有结果,如果为假,即无结果,则继续执行WHERE条件;

m0_69187448的博客 1499

【电源专题】LDO基础——热性能2

对于LDO散热而言,选择合适的元件并不是一件简单的任务。为了实现高效、尺寸得当并成本低的散热解决方案,我们在早期设计阶段就需要确保所有器件都可用并且已经考虑到元件和各种特性。

一点硬件 894

手把手教您如何群晖/飞牛NAS等服务器上一键部署洛雪音乐同步服务,手机电脑无缝同步歌单,支持外网访问

🎵 手机电脑歌单不同步?用Docker在群晖/飞牛NAS等服务器上搭个同步服务器, 3分钟搞定 !支持docker-compose一键部署,手机、电脑、平板收藏夹实时同步,外出也能用域名远程访问 ~ ✨

XiaoqiangClub的博客 4601

【数据库原理 实验报告5】数据查询的应用(连接)

本实验通过数据库student完成了多项SQL查询操作,包括基本查询、多表连接、条件筛选、分组统计和集合运算等。重点练习了JOIN连接(内连接、左外连接)、WHERE条件过滤、GROUP BY分组及HAVING子句、COUNT聚合函数以及EXCEPT集合操作的使用方法。实验涵盖了查询学生选课情况、成绩筛选、多课程选修判断等典型场景,验证了SQL语句对复杂查询需求的处理能力。通过实践加深了对数据库查询语言的理解,掌握了多表关联查询的技巧,为后续数据库应用开发奠定了基础。

Victoria551的博客 614

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于orcle数据库数据查询实验报告

显示姓名倒数第三个字母为I的雇员的姓名、部门名称。 在部门号为10,20,30的部门中查询出工资超过3000的职工。 查询工资最高的前3名职工所在的部门名。 4. 查询出和Smith同部门、职务也相同的职工。 子查询 5. 查询工资比Smith高的职工人数(分别用子查询和连接查询两种方法完成) 6.查询和Smith同一部门,并且岗位为“CLERK”的职工名(分别用子查询和连接查询两种方法完成) 7.查询部门平均工资超过Smith所在部门的平均工资的所有部门号(用子查询完成) 8.显示所.

tyxzz的博客 564

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

mysql实验报告四_实验报告四

实 实 验 报 告 课程名称 数据库实验及课程设计 实验项目 数据查询 实验 仪器 ___________________________ 系 别______信息管理学院______ 专 业________ ____________ 班级/ / 学号_...

weixin_29553791的博客 457

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文理学院数据库应用技术实验报告4

文理学院数据库应用技术实验报告4

世界那么大,我要学编程看看! 1192

【数据库原理 实验报告6】数据查询的应用(嵌套查询)

【摘要】本次数据库实验重点实践了SQL嵌套查询技术,通过学生选课系统的10个典型查询案例,系统掌握了IN、EXISTS、ANY/ALL等关键字的用法。实验包含基础查询到复杂嵌套查询的进阶训练,特别是通过双重NOT EXISTS实现了"选修全部课程"等全称量词查询。实验过程中遇到逻辑结构混乱、关联条件错误等问题,通过调试和对比教材案例逐步解决。实验收获包括:深入理解嵌套查询执行顺序、不同查询方式的适用场景、培养严谨的SQL编程习惯,同时认识到需要加强复杂查询逻辑梳理和查询性能优化的能力。

Victoria551的博客 420
下一篇: 编译四大步(小知识点)
accepted-_-️
博客等级 码龄7年 12粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值