百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

SQL语句常用知识清单

toyiye 2024-06-21 12:35 8 浏览 0 评论

查询语句

1.DESCRIBE 语句

描述”指定表或视图中的所有列,可以帮助我们了解数据表中包含了哪些列

语法:

Describe table_name;

2.SELECT 语句

查询满足条件的记录总数

语法:

# 计算数据总数

SELECT COUNT(*) FROM "表格名”;

# 计算变量(去除了缺失值)

SELECT COUNT(字段名) FROM "表格名";

# 计算去重后的变量

SELECT COUNT(Distinct (字段名) ) FROM "表格名";

3.MIN/MAX/SUM/AVG 函数

最小值min,最大值max,平均值avg以及求和sum

语法:

SELECT min("字段名")

,max("字段名")

,avg("字段名")

,sum("字段名")

,count("字段名")

FROM "表格名";

过滤语句

1.WHERE语句

WHERE语句是SQL语句中的筛选语句。它的主要功能是对数据按照特定的条件去进行筛选,一般位置在FROM的后面。

语法:

SELECT 列名称 FROM 表名称 WHERE 列运算符值

2.操作符

操作符是精确匹配

除了等号之外,我们还可以使用以下符号来满足我们不同的了解数据的需求。这类操作符的特点是:在操作符的右边,都是只有一个固定值,不管是数字还是字符。

- 不等于:<>或者!= , NOT

- 大于:>,

- 小于:<,

- 大于等于: >=

- 小于等于: <=

3.IS

用 IS 和 IS NOT 这两个来筛选值

4.IN / BETWEEN / LIKE

- IN/BETWEEN 是范围匹配

- IN

- 只要满足其中一个就属于满足了WHERE的条件

- 语法:

SELECT "字段名"FROM "表格名"WHERE "字段名" IN ('值一', '值二', ...);

- BETWEEN

- 任何在两个取值范围之间的记录都被认为是满足了WHERE条件

- 语法:

SELECT "字段名"FROM "表格名"WHERE "字段名" BETWEEN '值一' AND '值二';

- LIKE是模糊匹配,通常搭档百分号符%

- 语法:

SELECT "字段名"FROM "表格名"WHERE "字段名" LIKE '值%';

5.AND/OR

AND操作符的逻辑是筛选出满足所有条件的数据

OR操作符的逻辑是筛选出满足任何一个条件的数据

6.AS

- 对变量进行命名以及重命名

- 语法:

SELECT "字段名"AS"新字段名"FROM "表格名"

连接语句

1.INNER JOIN...ON语句(最常用)

INNER JOIN语句两边是需要进行链接的两张表,ON后面的部分则是告诉SQL是根据两张表里的哪个字段去进行表与表之间的连接。

语法:

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name=table2.column_name;

2.LEFT/RIGHT JOIN语句

LEFT JOIN:包含LEFT JOIN语句左边表的全部记录以及语句右边表能匹配上的部分记录

RIGHT JOIN:包含RIGHT JOIN语句右边表的全部记录以及语句左边表能匹配上的部分记录

3.FULL OUTER JOIN语句

inner join加上left join再加上right join三种join方式的结合

数据聚合

1.GROUP BY 语句

GROUP BY语句可以实现按照特定字段包含的分类进行汇总计算的效果(比如求最小值,最大值,平均值求和等等)

2.ORDER BY 语句

在select from语句后面加上ORDER BY语句可以实现将显示结果按照特定字段进行排序的效果。默认为升序,最后加desc为降序 。

3.HAVING 语句

- 将HAVING语句添加在GROUP BY语句的最后,可以起到筛选出我们想要的结果的效果。

- HAVING语句中使用的筛选的变量一般是做过聚合运算处理之后计算出来的新变量。

- HAVING语句的前面一定要加一条GROUP BY的汇总语句。

4.CASE WHEN 语句

- CASE WHEN 语句主要是根据是否满足语句中的判断条件会落入不同的取值,对数据进行重新分类整理和命名。

- CASE WHEN语句在结尾部分必须有个END,来提示系统整个循环语句已经结束了。

窗口函数

窗口函数(Window Function)是 MySQL 8.0新增的一个重要的功能(注意:只有新版本才有!),可以为数据分析提供强大支持,总得来说,可以分为以下三种窗口函数:排名窗口函数、聚合窗口函数、取值窗口函数。

语法格式:

窗口函数over(

partition by 分区的字段

order by 排序字段 desc / asc)

要点:

① 会生成一个字段

② 关键词:

  • 排序函数

  • over:用来指定函数执行窗口范围。如果后面的括号中什么都不写则是指窗口范围是:满足where条件的所有行

  • partition by:窗口按照哪些字段进行分组,窗口函数在不同的分组上分别执行,例如按照某区域分组。

  • order by:按照哪些字段进行排序

③ 排序函数over是必选的

④ over括号里面的内容是可选的

下面具体来说一下,以下几类窗口函数:

1.排名窗口函数

排名窗口函数用于对数据进行分组排名。

常见的排名窗口函数包括:

  • ROW_NUMBER,为分区中的每行数据分配一个序列号,序列号从 1 开始分配。

  • RANK,计算每行数据在其分区中的名次;如果存在名次相同的数据,后续的排名将会产生跳跃。

  • DENSE_RANK,计算每行数据在其分区中的名次;即使存在名次相同的数据,后续的排名也是连续的值。

  • PERCENT_RANK,以百分比的形式显示每行数据在其分区中的名次;如果存在名次相同的数据,后续的排名将会产生跳跃。

  • CUME_DIST,计算每行数据在其分区内的累积分布,也就是该行数据及其之前的数据的比率;取值范围大于 0 并且小于等于 1。

  • NTILE,将分区内的数据分为 N 等份,为每行数据计算其所在的位置。

2.取值窗口函数

取值窗口函数用于返回指定位置上的数据。

常见的取值窗口函数包括:

  • FIRST_VALUE,返回窗口内第一行的数据。

  • LAST_VALUE,返回窗口内最后一行的数据。

  • NTH_VALUE,返回窗口内第 N 行的数据。

  • LAG,返回分区中当前行之前的第 N 行的数据。

  • LEAD,返回分区中当前行之后第 N 行的数据。

3.聚合窗口函数

聚合函数over partition by 分区的字段 order by 排序字段 desc / asc)

聚合函数,如sum. avg, count, max, min等

注意:窗口函数可以用于SELECT 列表或者ORDER BY 子句中,但是不能出现在其他子句中。

本篇为数据分析初学者在学习sql语句时常用知识点,大家可参照以上内容顺序学习巩固SQL语句。不要把它放进收藏夹吃灰喔~

END

后续我们还会分享更多实用干货和实战案例

敬请持续关注~

或留言你想要了解或学习的内容

我们择期安排

本文为爱数据学院作者南湖渔歌提供

版权归爱数据学院所有,转载请联系后台

球分享

球在看

相关推荐

「linux专栏」top命令用法详解,再也不怕看不懂top了

在linux系统中,我们经常使用到的一个命令就是top,它主要是用来显示系统运行中所有的进程和进程对应资源的使用等信息,所有的用户都可以使用top命令。top命令内容量丰富,可令使用者头疼的是无法全部...

Linux 中借助 perf 对 php 程序模拟CPU高的案例分析

导语本文是一篇Linux借助工具分析CPU高的优化案例,没有任何干货内容,很详细的展示了优化CPU高的具体步骤,非常适合初中级读者阅读!...

centos漏洞处理方法(centos podman)

centos服务器最近有诸多漏洞,修复命令及对应的漏洞整理后,分享给大家RHSA-2020:1176-低危:avahi安全更新yumupdateavahi-libsRHSA-2017:326...

Linux上的free命令详解(Buffer和Cache)

解释一下Linux上free命令的输出。下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(FreeOutput)。例如:FO[2][1]...

linux 命令行之你真的会用吗?--free 基本用法篇

free命令行统计内存使用率及swap交换分区的使用率数据。是由sourceforge负责维护的,在ubuntu上其包名为procps,这个源码包中,除了free还有ps,top,vmstat,ki...

kong api gateway 初体验(konga github)

kongapigateway初体验(firstsight?)。Kong是一个可扩展的开源API层(也称为API网关或API中间件)。Kong运行在任何RESTfulAPI的前面,并通过插件...

在Ubuntu下开启IP转发的方法(ubuntu20 ip)

IP地址分为公有ip地址和私有ip地址,PublicAddress是由INIC(internetnetworkinformationcenter)负责的,这些IP地址分配给了注册并向INIC提...

基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结

作者:许成铭(竞霄)数字经济的今天,云计算俨然已经作为基础设施融入到人们的日常生活中,稳定性作为云产品的基本要求,研发人员的技术底线,其不仅仅是文档里承诺的几个九的SLA数字,更是与客户切身利益乃...

跟老韩学Ubuntu Linux系列-sysctl 帮助文档

sysctl一般用于基于内核级别的系统调优,man帮助手册如下。...

如何在 Linux/Unix/Windows 中发现隐藏的进程和端口

unhide是一个小巧的网络取证工具,能够发现那些借助rootkit、LKM及其它技术隐藏的进程和TCP/UDP端口。这个工具在Linux、UNIX类、MS-Windows等操作系统下都...

跟老韩学Ubuntu Server 2204-Linux性能管理-uptime指令帮助手册

uptime指令是每个从事Linux系统工作的相关同学必知必会的指令之一,如下是uptime指令的帮助手册。UPTIME(1)...

Openwrt+Rclone+emby+KODI搭建完美家庭影音服务器

特别声明:本篇内容参考了波仔分享,在此表示感谢!上一篇《Openwrt+emby+KODI搭建家庭影音服务器》只适用影音下载到本地的情形,不能播放云盘中的影音,内容较少,缺少了趣味性,也不直观。...

Linux Shell脚本经典案例(linux shell脚本例子)

编写Shell过程中注意事项:开头加解释器:#!/bin/bash语法缩进,使用四个空格;多加注释说明。命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。默认变量是全局的,在函数...

解决 Linux 性能瓶颈的黄金 60 秒

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。...

跟老韩学Ubuntu Server 2204-Linux性能管理-vmstat指令帮助手册

vmstat可查看ubuntlinux的综合性能,是每个从事Linux人员必知必会、需掌握的核心指令之一。vmstat指令帮助手册如下。VMSTAT(8)...

取消回复欢迎 发表评论:

请填写验证码