两个月冲刺软考——SQL基础:排序、分组和聚合函数的实用指南

news/2024/9/18 21:06:07/ 标签: 数据库, sql

1.涉及到的部分基本语法

1.1 ORDER BY 与 GROUP BY

ORDER BY用于对查询结果进行排序;默认是升序(ASC),可以指定降序(DESC)。

GROUP BY用于将数据按照一个或多个列进行分组;通常与聚合函数(如SUM、AVG、COUNT等)一起使用。使用聚合函数时需加括号,即:AVG(单价),表示平均单价。

二者均位于SQL语句的末尾。

1.2 SELECT语句

SELECT [DISTINCT] column1, column2,...
FROM table_name
[WHERE condition]
[GROUP BY column(s)]
[HAVING condition]
[ORDER BY column(s) [ASC|DESC]];

补充:中括号表示为可选项。DISTINCT关键字用于去除结果集中的重复行。WHERE用于指定筛选条件,只有满足条件的行才会被包含在结果集中。例如 WHERE age > 18。HAVING用于筛选分组后满足特定条件的结果集,通常表示为保留……

扩展:WHERE和HAVING的区别

  1. WHERE在分组之前对数据进行筛选,而HAVING在分组之后对数据进行筛选。

  2. WHERE不能直接与聚合函数一起使用,而HAVING通常与聚合函数一起使用。

1.3 例题1:

查询各种零件的平均单价、最高单价与最低单价之间差距的SQL语句为: SELECT 零件号,( ) FROM P ( );

答案:SELECT 零件号,零件名称,AVG(单价),MAX(单价)-MIN(单价) FROM P GROUP BY 零件号;

例题2:

查询人数大于2的部门和部门员工应发工资的平均工资的SQL语句为:

补充:SQL提供可为关系和属性重新命名的机制,这是通过使用as子句来实现的。As子句即可出现在select子句也可出现在from子句中。

答案:SELECT 部门,AVG(应发工资) AS 平均工资 FROM 工资表GROUP BY 部门 HAVING COUNT(姓名) > 2;


2.关系数据库中的选择,投影,连接,除法

2.1自然连接(举例说明):

假设有两个关系表,表 A 和表 B。

表 A:学生成绩表

学生编号课程编号成绩
001C0185
002C0290
003C0178

表 B:课程信息表

课程编号课程名称
C01数学
C02英语

进行自然连接后的结果如下:

学生编号课程编号成绩课程名称
001C0185数学
002C0290英语
003C0178数学

首先,找到两个表中相同的属性 “课程编号”。然后,对于表 A 中的每一行,在表 B 中查找具有相同 “课程编号” 的行,并将它们组合在一起。最后,去掉重复的 “课程编号” 列,得到自然连接的结果。

白话:或者是可以看成将列数少的那个表,放在列数多的那个表之上,也就是将二者叠起来(重复的部分)。

2.2投影

根据条件只对列产生影响;

2.3选择

根据条件只对行产生影响;

2.4例题:

第一空:R.B,D,F,G

表达式中要求的是R与S自然连接之后,投影第2、4、6、7列。注意这里是从1开始,而非以0为第1列。即B、D、F、G。

第二空:R.B=S.B AND R.C=S.C AND R.B <S.G

第二空即where之后:这类题型填的都是重复列二者必须相等,即R与S中重复的列为B、C,所以R.B=S.B AND R.C=S.C;然后看选择部分:2<7,即选择自然连接之后的第2列小于第7列的行,并且要加上列的所属表,即R.B <S.G。一定要注意三者之间为AND关系。


两个月冲刺中级软件设计师,欢迎大家一起讨论交流,同时也希望各位大佬们指出错误,我这边及时修改。


http://www.ppmy.cn/news/1518332.html

相关文章

Mybatis框架——缓存(一级缓存,二级缓存)

本章将简单介绍Mybatis框架中的缓存&#xff0c;欢迎大家点赞➕收藏&#xff0c;蟹蟹&#xff01;&#xff01;&#xff01;&#x1f495; &#x1f308;个人主页&#xff1a;404_NOT_FOUND &#x1f308;MyBatis环境搭建步骤&#xff08;超全解析&#xff01;&#xff01;&am…

网络安全 DVWA通关指南 DVWA File Upload(文件上传)

DVWA File Upload&#xff08;文件上传&#xff09; 文章目录 DVWA File Upload&#xff08;文件上传&#xff09;修复建议 LowMediumHighImpossible 修复建议 1、使用白名单限制可以上传的文件扩展名 2、注意0x00截断攻击&#xff08;PHP更新到最新版本&#xff09; 3、对上传…

关键字之sizeof

接下来我讲的是之前我提到过的C语言关键字 sizeof同时它也是C语言提供的操作符&#xff08;运算符&#xff09; 它的使用形式有两种 1 sizeof&#xff08;类型&#xff09; 2 sizeof 表达式 sizeof返回某种数据类型或某个值占用的字节数量&#xff0c;它的参数可以是数据类型…

怎样通过bs4找出程序中 标签<div class=“List2“>中所有的<li>的内容?

怎样通过bs4找出程序中 标签<div class"List2">中所有的<li>的内容&#xff1f; 可以使用 BeautifulSoup 的 find_all 方法来找到标签为 <div class"List2"> 中的所有 <li> 标签&#xff0c;并获取其内容。 以下是一个示例代码&…

【面试经验】美团基础研发部产品经理面试经验

3.12 投递 4.1 一面 4.11 二面 4.17 oc但拒 一面内容&#xff1a; 1、一个指数增长的脑经急转弯 2、对向量和向量值如何理解 ——类比函数&#xff0c;目的是映射和转化 3、transformer有没有看&#xff08;问到了注意力机制&#xff09; ——transformer的本质是一个编码…

http连接处理

分析http类及请求接收 基础 epoll epoll_create函数 #include <sys/epoll.h> int epoll_create(int size) 创建一个指示epoll内核事件表的文件描述符&#xff0c;该描述符将用作其他epoll系统调用的第一个参数&#xff0c;size不起作用。 epoll_ctl函数 #include …

基于Python的热门旅游景点数据分析系统【python-爬虫-大数据定制】

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于Python的热门旅游景点数…

sheng的学习笔记-AI-半监督聚类

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 半监督学习&#xff1a;sheng的学习笔记-AI-半监督学习-CSDN博客 聚类&#xff1a;sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 均值算法&#xff1a;sheng的学习笔记-AI-K均值算法_k均值算法怎么算迭代两次后的最大…

论文阅读:VideoMamba: State Space Model for Efficient Video Understanding

论文地址&#xff1a;arxiv 摘要 为了解决视频理解中的局部冗余与全局依赖性的双重挑战。作者将 Mamba 模型应用于视频领域。所提出的 VideoMamba 克服了现有的 3D 卷积神经网络与视频 Transformer 的局限性。 经过广泛的评估提示了 VideoMamba 的能力&#xff1a; 在视觉领…

Zookeeper 日志输出到指定文件夹,并按照日期轮循输出

更改日志输出路径 如果不做修改&#xff0c;zookeeper的日志信息默认都打印到了zookeeper.out文件中&#xff0c;这样输出路径和大小没法控制&#xff0c;因为日志文件没有轮转。所以需要修改日志输出方式。具体操作如下&#xff1a; 1.修改${zkhome}/bin/zkEnv.sh ZOO_LOG_…

我的推荐:腾讯云罗云《从零构建向量数据库》

在2024年8月&#xff0c;好几本和数据库相关的图书相继出版&#xff0c;我以为&#xff0c;这恰恰是数据库领域蓬勃向上的一种表现。 数据库需要更多的人关注&#xff0c;哪怕是谈论&#xff0c;所以我的《数据库简史》是一种尝试&#xff0c;希望以一种科普的风格&#xff0c;…

信息安全数学基础(4)最大公因数

前言 在信息安全数学基础中&#xff0c;最大公因数&#xff08;Greatest Common Divisor, GCD&#xff09;是一个核心概念&#xff0c;它在密码学、数论等多个领域都有广泛应用。以下是对最大公因数的详细阐述&#xff1a; 一、定义 设a和b是两个非零整数&#xff0c;若整数d同…

框架 +【Mybatis】概述 以及 基础环境搭建

目录 什么是框架&#xff1f; java后端框架包括 Mybatis概述 1、背景介绍 2、mybatis介绍 Mybatis环境搭建 1.创建一个maven项目 2.导入mysql数据库驱动包 导入mybatis依赖的jar包 3.创建一个全局的mybatis配置文件 4.创建数据库,创建表,准备数据 5.创建一个访问接口…

PHP一体化解决方案高效整合与优化学校管理系统小程序源码

一体化解决方案&#xff0c;让学校管理系统焕发新生✨ &#x1f3eb; 开篇&#xff1a;传统管理的瓶颈与挑战 在快节奏的教育时代&#xff0c;传统的学校管理系统是否让你感到力不从心&#xff1f;&#x1f914; 信息孤岛、流程繁琐、效率低下...这些问题是否正困扰着你的工作…

vue 使用el-table 设置了show-overflow-tooltip属性,路由跳转后,气泡不消失的解决办法

文章目录 一、问题场景二、解决方法1.问题bug2.最终解决 总结 一、问题场景 在vue项目里使用el-table做一个列表页面&#xff0c;表格设置了show-overflow-tooltip属性&#xff0c;文字过长时鼠标滑过会展示气泡显示全部文字内容&#xff0c;因为设置路由缓存&#xff0c;如果…

哈苏相机SD卡数据恢复指南:从格式化到重生

在摄影的世界里&#xff0c;‌哈苏相机以其卓越的画质和精湛的工艺赢得了无数摄影师的青睐。‌然而&#xff0c;‌面对不慎的误操作&#xff0c;‌如SD卡格式化&#xff0c;‌珍贵的照片和视频数据可能瞬间消失&#xff0c;‌这无疑是对摄影师的重大打击。‌本文将深入探讨如何…

PostgreSQL遍历所有的表并为其创建基于某个字段的索引

完整代码 以下以"collect_time"字段为例&#xff0c;其他字段请自行全局替换 DO $$ DECLAREtable_name TEXT;index_name TEXT; BEGIN-- 遍历 public 模式下的所有表FOR table_name IN (SELECT table_nameFROM information_schema.tablesWHERE table_schema publicOR…

网上商城|基于SprinBoot+vue的分布式架构网上商城系统(源码+数据库+文档)

分布式架构网上商城系统 目录 基于SprinBootvue的分布式架构网上商城系统 一、前言 二、系统设计 三、系统功能设计 5.1系统功能模块 5.2管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍…

大语言模型之Qwen2技术报告阅读笔记

QWEN2 TECHNICAL REPORT——2024 核心内容 介绍了Qwen2 大模型系列&#xff1a;基于transformer架构的LLMs 通过以下四个部分来展开介绍&#xff1a; Tokenizer & Model 四个dense models&#xff0c;参数计数为 0.5 亿、15 亿、70 亿和 720 亿一个Mixture-of-Experts (…

svn迁移到git

通过git bash将svn迁移到git上&#xff0c;并保留svn的提交历史。 一、准备 1、在电脑上安装git 2、确认svn账号具备该svn地址的操作权限 3、准备将要操作的svn项目地址、以及该项目下所有提交人的账号信息&#xff08;在idea工具看提交历史&#xff09;&#xff0c;将信息存放…