​数据库原理及应用上机(实验三 SQL数据查询)

news2024/12/25 10:03:39

作者:命运之光 
专栏:数据库原理及应用上机实验

​ 

目录

 ✨一、实验目的和要求

✨二、实验内容及步骤

✨三、实验结果

✨四、附加练习

✨五、实验总结


🍓🍓前言: 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善🍓🍓 


 ✨一、实验目的和要求

1.掌握SQL Server查询分析器的使用方法,加深对SQL查询语句的理解。

2.熟练掌握查询语句的一般格式。

3.熟练掌握数据查询中的排序、分组、统计、计算和集合的操作方法。

4.熟练掌握连接、嵌套和集合查询的使用。

✨二、实验内容及步骤

(一)单表查询

1 无条件查询

例1 查询全体学生的详细记录。这是一个无条件的选择查询,其命令为:

SELECT  * FROM  Student;          /*这里的“*”等价于ALL*/

其结果为Student表中的全部数据。

例2  查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。这是一个无条件的投影查询,其命令为:

SELECT Sname, Sno, Sdept  FROM  Student;

例3  查询全体学生的学号(Sno)、姓名(Sname)及出生年份。由于SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式,故可以查询经过计算的值。其命令为:

SELECT Sno, Sname, 2012-Sage as '2012-Sage' FROM Student;

例4 查询全体学生的学号、姓名、出生年份和所在系,要求用小写字母表示所有系名。其命令为:

SELECT Sno, Sname, 2012-Sage 'Year of Birth', LOWER(Sdept) Sdept FROM Student;

例5  查询选修了课程的学生学号。其命令为:

SELECT DISTINCT Sno FROM SC;

2 条件查询

例6  查询数学系(MA)全体学生的学号(Sno)和姓名 (Sname)。其命令为:

SELECT Sno, Sname
FROM Student
WHERE Sdept='MA';

【题7】查询考试成绩有不及格的学生的学号。

SELECT DISTINCT Sno
FROM SC
WHERE  Grade<60;

【例8】查询所有年龄在20岁以下的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT  Sname, Sage
FROM  Student
WHERE  Sage<20;

【例9】查询所有年龄在18~20岁(包括18岁和20岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT  Sname, Sage
FROM  Student
WHERE  Sage >=18 AND Sage<=22;

SELECT  Sname, Sage
FROM  Student
WHERE  Sage  BETWEEN 18 AND 22;

【例10】 查询年龄不在18-20岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT  Sname, Sage
FROM  Student
WHERE  Sage  NOT  BETWEEN  18 AND 20;

【例11】 查询计算机系、数学系和信息系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。其命令为:

SELECT  Sno, Sname, Ssex FROM  Student

WHERE  Sdept  IN ('CS', 'MA', 'IS');

等价于:

SELECT  Sno, Sname, Ssex

FROM  Student

WHERE  Sdept='CS' OR Sdept='MA' OR Sdept='IS';

【例12】  查询既不是信息系(IS)、数学系(MA)、也不是计算机系(CS)的学生的姓名(Sname)和性别(Ssex)。其命令为:

SELECT  Sname, Ssex
FROM  Student
WHERE  Sdept  NOT  IN ('IS', 'MA', 'CS');

【例13】  查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。其命令为:

SELECT  Sname, Sno, Ssex
FROM  Student
WHERE  Sname  LIKE  '刘%';

【例14】  查询姓“刘”且全名为4个汉字的学生的姓名(Sname)和所在系(Sdept)。其命令为:

SELECT  Sname, Sdept 
FROM  Student
WHERE  Sname  LIKE  '刘____' AND LEN(Sname)=4;;

【例15】  查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。

SELECT  Sname, Sage
FROM  Student
WHERE  Sname  NOT  LIKE  '刘%';

【例16】  查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。其命令为:

SELECT  *
FROM  Course
WHERE  Cname LIKE 'DB\_%设__'ESCAPE'\';

【例17】  假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。其命令为:

SELECT  Sno, Cno
FROM  SC
WHERE  Grade IS NULL;

【例18】  查询所有有成绩的学生学号(Sno)和课程号(Cno)。其命令为:

SELECT Sno, Cno
FROM  SC
WHERE  Grade IS NOT NULL;

【题19】查询计算机系年龄在20岁以下的学生姓名。

SELECT Sname

FROM Student

WHERE Sdept='计算机系' and Sage<20;

3 查询结果排序

例24  查询选修了2号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。其命令为:

SELECT  Sno, Grade

FROM SC

WHERE  Cno='2'

ORDER BY Grade DESC;

【例25】 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。其命令为:

SELECT  *

FROM  Student

ORDER BY Sdept, Sage DESC;

4 集函数的使用

例26  查询学生总人数。其命令为:

SELECT  COUNT(*)

FROM  Student;

例27  查询选修了课程的学生人数。其命令为:

SELECT  COUNT(DISTINCT Sno)

FROM SC;

例28  计算选修2号课程的学生平均成绩。其命令为:

SELECT  AVG(Grade)

FROM  SC

WHERE  Cno='2';

例29  查询选修2号课程的学生最高分数。其命令为:

SELECT  MAX(Grade)

FROM  SC

WHERE  Cno='2';

例30  查询学生200215122选修课程的总学分数。其命令为:

SELECT  SUM(Ccredit)

FROM  SC,Course

WHERE  Sno='200215122' AND SC.Cno=Course.Cno;

5 查询结果分组

例31  求各个课程号(Cno)及相应的选课人数。其命令为:

SELECT  Cno , COUNT(Sno) CntSno

FROM  SC

GROUP  BY Cno;

例32  查询选修了3门或3门以上课程的学生学号(Sno)。其命令为:

SELECT  Sno

FROM  SC

GROUP  BY Sno

HAVING  COUNT(Cno)>3

✨三、实验结果

(一)单表查询

1 无条件查询

例1 查询全体学生的详细记录。

例2  查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。

例3  查询全体学生的学号(Sno)、姓名(Sname)及出生年份。

例4 查询全体学生的学号、姓名、出生年份和所在系,要求用小写字母表示所有系名。

例5  查询选修了课程的学生学号。

2 条件查询

例6  查询数学系(MA)全体学生的学号(Sno)和姓名 (Sname)。

【题7】查询考试成绩有不及格的学生的学号。

【例8】查询所有年龄在20岁以下的学生姓名(Sname)及年龄(Sage)。

【例9】查询所有年龄在18~20岁(包括18岁和20岁)之间的学生姓名(Sname)及年龄(Sage)。

【例10】 查询年龄不在18-20岁之间的学生姓名(Sname)及年龄(Sage)。

【例11】 查询计算机系、数学系和信息系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。

【例12】  查询既不是信息系(IS)、数学系(MA)、也不是计算机系(CS)的学生的姓名(Sname)和性别(Ssex)。

【例13】  查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。

【例14】  查询姓“刘”且全名为4个汉字的学生的姓名(Sname)和所在系(Sdept)。

【例15】  查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。

【例16】  查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。

【例17】  假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

【例18】  查询所有有成绩的学生学号(Sno)和课程号(Cno)。

【题19】查询计算机系年龄在20岁以下的学生姓名。

3 查询结果排序

例24  查询选修了2号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。

【例25】 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。

4 集函数的使用

例26  查询学生总人数。

例27  查询选修了课程的学生人数。

例28  计算选修2号课程的学生平均成绩。

例29  查询选修2号课程的学生最高分数。

例30  查询学生200215122选修课程的总学分数。

5 查询结果分组

例31  求各个课程号(Cno)及相应的选课人数。

例32  查询选修了3门或3门以上课程的学生学号(Sno)。

✨四、附加练习

查询学分为4分的课程的课程号及课程名;

查询选修课课程号为3且得分为90分以上的学生学号;

将课程表按学分升序排列,学分相同的按课程号升级排列

查询姓“李“的学生的学号、姓名、年龄,并且以年龄降序排列;

查询选修课程号为3的最低分;

查询所有学生的平均年龄;

查询不同学分的课程数量

查询不同年龄的男生人数及女生人数;

查询课程表中的课程数量;

查询课程号为的不及格的学生学号及分数

✨五、实验总结

本次实验主要学习了 SQL Server 查询分析器的使用方法,以及 SQL 查询语句的基本格式和常用操作方法。在实验过程中,我们深入了解了数据查询中的排序、分组、统计、计算和集合的操作方法,并熟练掌握了连接、嵌套和集合查询的使用。

通过本次实验,我深刻认识到 SQL 查询语句对于数据库操作的重要性。在实际应用中,SQL 查询语句可以帮助我们快速有效地获取所需数据,从而进行数据分析和处理。通过本次实验的学习,我不仅掌握了 SQL 查询语句的基本语法和使用方法,还学会了如何优化查询语句,提高查询效率和准确性。

在实验过程中,我遇到了一些问题,如语法错误、数据类型不匹配等等。通过反复尝试和查找相关资料,我最终解决了这些问题,并对 SQL 查询语句的使用有了更深入的理解和掌握。

总之,本次实验对我的学习和成长非常有益。通过实践操作,我深入了解了 SQL 查询语句的使用方法,提高了对 SQL 数据库的理解和掌握,为今后的工作和学习打下了坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用别人的钱创咖啡的业,戴威与陆正耀殊途同归?

文 | 新熔财经 作者 | 和花 近四年来&#xff0c;ofo退押一事没有出现任何明显的转机&#xff0c;但ofo创始人戴威却已经在海外大张旗鼓地开启了名为About Time Coffee的新创业项目。 当“ofo创始人戴威再次创业”的消息登上微博热搜&#xff0c;收获的几乎都是“还钱”的征…

字符串按规则生成字典

带数字的字符串以数字为key倒序生成字典&#xff0c;字符串列表按其元素索引为key倒序生成字典。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简…

实验室云检验信息系统(云LIS源码)

一、区域云LIS系统概述&#xff1a; 区域云LIS平台源码&#xff0c;系统完全采用B/S架构模式&#xff0c;扩展性强。整个系统的运行基于WEB层面&#xff0c;只需要在对应的工作台安装一个浏览器软件有外网即可访问。 云LIS系统为实验室服务对象提供检验申请、采集标本、结果查…

【IDEA使用码云教程】

IDEA使用码云教程 一、下载、安装git二、配置Gitee插件三、克隆项目四、上传项目五、推送项目六、更新项目 一、下载、安装git 1.打开git官网&#xff0c;选择你的操作系统 官网下载地址&#xff1a;https://git-scm.com/downloads 2.根据你的系统位数选择相应的版本下载 系统…

frp+nginx+xposed搭建xp模块集群

frpcnginxxposed搭建xp模块集群 前言实现逻辑配置内网穿透实现负载均衡 前言 为了能够稳定的采集一些app的详情页数据&#xff0c;就得借助xposed&#xff0c;xposed跟NanoHTTPD配合使用就可以在手机端开启接口服务&#xff0c;直接调用手机端的接口就能获取我们想要的数据&am…

【机器学习】线性模型

文章目录 第三章&#xff1a;线性模型一、线性回归模型1.1、线性回归模型1.2、求解线性回归模型&#xff08;时刻要分清维度&#xff09;1.3、多输出线性回归模型 二、线性分类模型2.1、判别函数2.2、概率判别模型2.3、概率生成模型 第三章&#xff1a;线性模型 一、线性回归模…

怎么把视频压缩到500m以下?

如何把视频压缩到500m以下&#xff1f;视频文件通常是非常大的&#xff0c;特别是高清视频或超高清视频&#xff0c;因此压缩可以帮助将视频文件大小减小&#xff0c;在有限的存储空间中存储更多的视频文件。较大的视频文件在上传和下载时需要较长时间&#xff0c;而压缩视频文…

Flink学习——Flink中的时间语义和窗口

一、时间语义 1.1 为什么会出现时间语义&#xff1f; flink是一个大数据处理引擎&#xff0c;它的最大特点就是分布式。每一个机器都有自己的时间&#xff0c;那么集群当中的时间应该以什么为准呢&#xff1f; 比如&#xff1a;我们希望统计8-9点的数据时&#xff0c;对并行任…

使用RSD从DEM数据创建用户高程数据层

李国春 SRTM90和Aster DEM的V2/V3是比较常用的免费共享高程数据。用户下载好以后应用到自己的项目时&#xff0c;经常会需要进行拼接合成和投影重采样等。RSD提供了一种创建自己项目的高程数据的方法。 一. 高程图像生成方法 在自己的项目中&#xff0c;选择图1的菜单。 图1…

使用LabVIEW AI视觉工具包快速实现SIFT特征检测(含源码)

‍‍&#x1f3e1;博客主页&#xff1a; virobotics的CSDN博客&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『LabVIEW深度学习实战』 &#x1f37b;上期文章&#xff1a; 使用LabVIEW AI视觉工具包快速实现霍夫圆和霍夫直线检测&#xff08;含…

Jmeter事务控制器聚合报告

Jmeter 事务控制器。 在Jmeter中&#xff0c;默认一个取样器就是一个事务事务控制器控制其子集取样器&#xff0c;合并为一个事务 添加&#xff1a;逻辑控制器/Logic Controller -> 事务控制器/Transaction Controller TPS: 服务器每秒处理的事务数在事务控制器下添加多个…

海康威视iVMS综合安防系统任意文件上传漏洞复现(0day)

0x01 产品简介 海康威视iVMS集中监控应用管理平台&#xff0c;是以安全防范业务应用为导向&#xff0c;以视频图像应用为基础手段&#xff0c;综合视频监控、联网报警、智能分析、运维管理等多种安全防范应用系统&#xff0c;构建的多业务应用综合管理平台。 0x02 漏洞概述 海…

利用CX-ONE搭建omron PLC仿真环境

目录 1 安装参考 2 CX-Simulator 2.1 打开软件 2.2 选择PLC配置文件存放位置 2.3 选择PLC类型 2.4 PLC Unit全部选择 2.5 设置FINS通讯 2.6 设置串口通讯 2.7 建立连接 3 CX-Programmer 3.1 新建工程 3.2 设置PLC型号 3.3 设置网络类型 3.4 设置串口通讯 3.5 设…

chatgpt在哪用?详谈一下gpt的各方面

ChatGPT是一种人工智能技术&#xff0c;它可以通过自然语言交互回答各种问题。这种技术已经被广泛应用于各个领域和场景中&#xff0c;帮助人们更好地获取知识和信息。那么&#xff0c;ChatGPT在哪里使用呢&#xff1f;下面我们来探讨一下。 一.chatgpt在哪用 打开任意的浏览器…

MSP 现场服务管理

什么是现场服务管理 现场服务管理 &#xff08;FSM&#xff09; 是确保有效规划、安排和执行现场服务活动所遵循的做法。它涉及有效利用资源&#xff0c;如人员、技术和材料&#xff0c;以满足客户的服务期限和标准。FSM还涉及现场技术人员&#xff0c;服务交付经理和其他利益…

救命稻草!阿里P8耗时5月打造的架构师速成手册,千金难求

前言 软件行业技术开发从业人员众多&#xff0c;很多程序员朋友在从业2-3年后都会进入一个迷茫期&#xff0c;面对个人发展的瓶颈。即如何从普通开发人员转型成高层次的系统架构师和技术管理人员。对程序员来说&#xff0c;架构师的薪资比较充满诱惑&#xff0c;年薪四五十万对…

Spring——Spring_XML实现DI

1.实现DI1 1.1DI给对象属性赋值 【1】通过set方法给对象属性赋值 <bean id"user2" class"org.example.User" ><property name"userId" value"1"></property><property name"uname" value"漳卅…

智能家居新选择,雷达感应器成品方案,人体存在感应控制照明联动

在现代社会&#xff0c;随着智能化技术的不断推进&#xff0c;人体存在感应控制照明已经成为了一项必备的技术手段。 ISE101T-5雷达感应器成品&#xff0c;作为一款拥有多种特点和优势的设备&#xff0c;不仅可以感应到室内的人体存在&#xff0c;还能够通过控制照明实现更为舒…

北京理工大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 计算机学院始建于1958年&#xff0c;是全国最早设立计算机专业的高校之一。2018年4月&#xff0c;计算机学院、软件学院、网络科学与技术研究院合并成立新的计算机学院。学院累计为国家培养各类人才15000余名。计算机科…

登录功能应该重点测试哪些方面,你都了解全面了么?

登录功能的测试是最常见也是最重要的&#xff0c;同时也是最容易被忽略的&#xff0c;关于登录功能的测试用例总结如下&#xff1a; 功能测试 输入已注册用户名和正确的密码&#xff0c;是否登录成功&#xff1b;输入已注册的用户名和错误的密码&#xff0c;是否登录失败&…