SQL必知必会笔记(9~12章)

第九章 汇总数据

1、聚集函数用来进行记录数据的加工,然后再进行返回。

2、SQL的聚集函数:

函数

说明

AVG()

返回某列的平均值

COUNT()

返回某列的行数

MAX()

返回某列的最大值

MIN()

返回某列的最小值

SUM()

返回某列值之和

3、AVG()函数

AVG可以用来计算所有列的平均值,也可以计算返回某行或者某列的平均值

 SELECT AVG(DISTINCT Maths) AS res FROM transcript;

4、COUNT()函数

COUNT()函数进行计数。可利用 COUNT()确定表中行的数目或符合特定 条件的行的数目。

COUNT()函数有两种使用方式:

使用 COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值 (NULL)还是非空值。

 SELECT COUNT(*) FROM transcript;

使用 COUNT(column)对特定列中具有值的行进行计数,忽略 NULL 值。

 SELECT COUNT(Name) FROM transcript;

5、MAX()函数

MAX()返回指定列中的最大值。MAX()要求指定列名

 SELECT MAX(Maths) FROM transcript;

如果是对非数值类型(即文本类型)采用MAX函数查询,则会返回字符排序最靠后的一行记录

 SELECT MAX(Name) FROM transcript;

MAX()函数忽略列值为 NULL 的行

6、MIN()函数

MIN()的功能正好与 MAX()功能相反,它返回指定列的最小值。与 MAX() 一样,MIN()要求指定列名

7、SUM()函数

SUM()用来返回指定列值的和

 SELECT SUM(Maths) FROM transcript;

如果对文本类型进行操作,返回0
 SELECT SUM(Name) FROM transcript;

SUM()也可以用来合计计算值

 SELECT SUM(Maths+English) FROM transcript;

SUM()函数忽略列值为 NULL 的行。

8、多个聚合函数可以同时组合使用在同一个查询条件中

SELECT SUM(Maths+English) AS TOTAL, MAX(Maths) as MaxMaths, MIN(English) as MinEnglish FROM transcript;

第十章 分组数据

1、数据分组依赖两个函数GROUP BY 和HAVING

2、GROUP BY子句用于创建分组,将查询到的数据以GROUP BY的子句条件进行分组

未分组:

 SELECT Name, Count(Name) FROM transcript ;

分组:
 SELECT Name, Count(Name) FROM transcript GROUP BY Name;

3、GROUP BY 子句可以包含任意数目的列,因而可以对分组进行嵌套, 更细致地进行数据分组

4、如果在 GROUP BY 子句中嵌套了分组,数据将在最后指定的分组上进 行汇总。

5、 GROUP BY 子句中列出的每一列都必须是检索列或有效的表达式(但 不能是聚集函数)。如果在 SELECT 中使用表达式,则必须在 GROUP BY 子句中指定相同的表达式。不能使用别名。

6 、大多数 SQL 实现不允许 GROUP BY 列带有长度可变的数据类型(如文 本或备注型字段)。

7 、除聚集计算语句外,SELECT 语句中的每一列都必须在 GROUP BY 子句 中给出。

8 、如果分组列中包含具有 NULL 值的行,则 NULL 将作为一个分组返回。 如果列中有多行 NULL 值,它们将分为一组。

9 、GROUP BY 子句必须出现在 WHERE 子句之后,ORDER BY 子句之前。

10、 HAVING类似于WHERE,但是WHERE不能过滤分组,但是HAVING是可以用来进行过滤分组的

 SELECT Name, Count(Name) FROM transcript GROUP BY Name HAVING Name != 'Ben';

11 、HAVING 支持所有 WHERE 操作符,但是WHERE无法实现分组过滤

第十一章 使用子查询

1、子查询即嵌套在其他查询中的查询,在多张表存在关联关系,需要根据A表的查询信息作为B表的查询条件进行查询,就需要用到子查询

例如有两张表,一张记录分数等级,一张记录学生成绩

score_level 分数等级表

成绩表

现在想查询Maths成绩为A的学生名单

 SELECT Name, Maths FROM transcript WHERE Maths >= (SELECT score FROM score_level WHERE level = 'A');

2 、作为子查询的 SELECT 语句只能查询单个列。企图检索多个列将返回错误

第十二张 联结表

1、 为什么使用联结:联结是一种机制,用来在一条 SELECT 语句 中关联表,因此称为联结。使用特殊的语法,可以联结多个表返回一组 输出,联结在运行时关联表中正确的行

2 、创建联结示例

transcript表

student_id表

示例:

SELECT B.Name, A.Maths, A.English FROM transcript A, student_id B WHERE A.Name = B.Name;

3、 内联结INNER JOIN

内连接查询能将左表(表 A)和右表(表 B)中能关联起来的数据连接后返回。

SELECT A.Name, A.Maths, A.English FROM transcript A INNER JOIN student_id B ON A.Name = B.Name;

4、扩展其他联结方式

左联结 LEFT(OUTER ) JOIN 

左连接查询会返回左表(表 A)中所有记录,不管右表(表 B)中有没有关联的数据。在右表中找到的关联数据列也会被一起返回。

SELECT A.Name, A.Maths, A.English FROM transcript A LEFT JOIN student_id B ON A.Name = B.Name;

右联结 RIGHT(OUTER ) JOIN

右连接查询会返回右表(表 B)中所有记录,不管左表(表 A)中有没有关联的数据。在左表中找到的关联数据列也会被一起返回。

完全外联结 FULL(OUTER) JOIN

外连接查询能返回左右表里的所有记录,其中左右表里能关联起来的记录被连接后返回。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2道经典的C语言练习题(解答超详细)

文章目录 每日一言12结语⭐如果发现自己做错了,请不要气馁,做题就是一个查漏补缺的过程。每个人不是天生就会写代码的,给自己一些时间,不要放弃,加油陌生人! 每日一言 当你关注到自己行为背后的意图时&…

其他出库单保存时仓库无可用量无法保存

文章目录 其他出库单保存时仓库无可用量无法保存报错界面方案设计解决方案 其他出库单保存时仓库无可用量无法保存 报错界面 方案设计 保存不校验可用量,审核不允许超额。 解决方案 或者直接取消

电商API-获取拼多多商品详情数据精准价格API测试示例

pinduoduo.item_get_app_pro获取拼多多商品详情数据 如何获取apikey? 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中&#xff…

jenkins通过流水线自动部署项目(k8s部署)

参考:https://www.cnblogs.com/rb2010/p/16195443.html docker 拉取镜像到本地: docker pull docker.io/jenkins/jenkins:2.164配置卷挂载:使用nfs 参考:https://www.kuboard.cn/learning/k8s-intermediate/persistent/nfs.htm…

Spring见解4 基于注解的AOP配置

5.基于注解的AOP配置 5.1.创建工程 5.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

Java学习苦旅(二十五)——哈希表

本篇博客将详细讲解哈希表。 文章目录 哈希表概念冲突概念避免冲突哈希函数设计常见哈希函数 负载因子调节解决冲突闭散列开散列&#xff08;哈希桶&#xff09; 和java类集的关系 结尾 哈希表 概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关…

Leetcod面试经典150题刷题记录 —— 链表篇

Leetcod面试经典150题刷题记录-系列Leetcod面试经典150题刷题记录——数组 / 字符串篇Leetcod面试经典150题刷题记录 —— 双指针篇Leetcod面试经典150题刷题记录 —— 矩阵篇Leetcod面试经典150题刷题记录 —— 滑动窗口篇Leetcod面试经典150题刷题记录 —— 哈希表篇Leetcod面…

【设计模式-01】Singleton单利模式

一、方式1(最常用&#xff0c;推荐使用) 单例实现方式一: 饿汉式 类加载到内存后&#xff0c;就实例化一个单例&#xff0c;JVM保证线程安全 简单实用&#xff0c;推荐使用。 唯一缺点: 不管用到与否&#xff0c;类装载时就完成加载。 /*** description: 单例实现方式一: 饿汉…

Python之Selenium自动化浏览器测试详解

Python之Selenium(自动化浏览器测试) 1.安装selenium 1 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple 2.下载对应版本的浏览器驱动 CNPM Binaries Mirror 这是我的。 把解压后的驱动放在自己的python.exe 目录下。 3.测试code&#xff0c;打开一个网页…

大甩卖——代码全家桶!!!

Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Python轴承故障诊断 (一)短时傅里叶变换STFT Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客 Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客 Pytorch-…

四 视图

1、实验目的 理解SQL成熟设计基本规范&#xff0c;能够熟练使用SQL语句来创建需要的视图&#xff0c;定义数据库外模式&#xff0c;并能使用所创建的视图实现数据管理。 2、实验内容及要求 使用SQL对数据库进行各类查询数据操纵操作&#xff0c;掌握单行数据插入、多行数据插…

开发小技巧 - 合理使用Visual Studio 2022内置任务列表(TODO)

前言 在开发编码过程中经常会因为各种问题而打断自己的思绪和开发计划&#xff0c;可能会导致本来准备开发或者需要测试的功能到要上线的时候才想起来没有做完。这种情况相信很多同学都遇到过&#xff0c;咱们强大的Visual Studio内置了一个任务列表&#xff08;TODO&#xff…

NVIDIA深入理解之pynvml库

一、前言 写在前面 该文章是对我之前文章《Fedora上安装NVIDIA闭源显卡驱动》的一个拓展&#xff0c;正好寒假闲的没事干不如加深一下对NVIDIA的了解。Python是当前非常流行的一门编程语言&#xff0c;它以kiss为设计思想&#xff0c;能封装就能封装&#xff0c;给用户提供比…

Tmux 使用小记

本文参考自 阮一峰老师Tmux 使用教程[1] Tmux,不仅仅是分屏那么简单。。。 与tmux类似的工具是screen 会话管理 将窗口与会话"解绑" 对于没有图形界面只有shell的场景(如服务器)&#xff0c;尤其有用..这是其最核心解决的问题(窗口管理啥的只能算锦上添花的辅助功能)…

想要成为机器学习领域的高手吗?这里有五本必读免费书,订阅周报发链接 (下)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

腾讯云com域名注册1元一年,非常可以!

腾讯云com域名注册优惠价格1元首年&#xff0c;条件是企业新用户&#xff0c;个人新用户注册com域名是33元首年&#xff0c;第二年续费价格85元一年。活动 txybk.com/go/domain-sales 活动打开如下图&#xff1a; 腾讯云com域名注册优惠价格 腾讯云com域名注册原价是85元一年&a…

2024年数学建模美赛能用chatGPT之类的AI吗?官方给了明确规定!

这两年chatGPT等大语言模型火了&#xff0c;能对话&#xff0c;自然也能回答数学建模方面的问题。 那美赛能不能用这些AI呢&#xff1f;2024年美赛官方对chatGPT等的使用做出了明确的规定&#xff08;其中的VI. Contest Instructions部分&#xff09;&#xff1a; https://ww…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票创建页面实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

程序猿的时间管理和生产力

文章目录 为什么时间管理很重要&#xff1f;如何管理时间&#xff1f;心理维度生理维度技术尺寸 时间管理技巧每周计划基于目标的规划番茄钟为什么是25分钟&#xff1f;番茄钟为什么有效&#xff1f;艾森豪威尔矩阵这一切都是从开发者的角度来看的 也许我从开始学习或从事软件开…

企鹅目标检测数据集VOC格式400张

企鹅&#xff0c;一种可爱而独特的鸟类&#xff0c;以其圆滚滚的身体、黑白相间的羽毛和独特的行走方式而备受人们喜爱。 企鹅是鸟纲、企鹅科的动物&#xff0c;它们生活在南半球&#xff0c;特别是南极地区。企鹅的体型短而肥胖&#xff0c;有着流线型的身体和黑白相间的羽毛…