百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

SQL语句常用知识清单 sql常用语句大全简书

haoteby 2024-11-05 11:09 47 浏览

查询语句

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

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

敬请持续关注~

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

我们择期安排

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

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

球分享

球在看

相关推荐

一日一技:用Python程序将十进制转换为二进制

用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...

十进制转化成二进制你会吗?#数学思维

六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...

二进制、十进制、八进制和十六进制,它们之间是如何转换的?

在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...

c语言-2进制转10进制_c语言 二进制转十进制

#include<stdio.h>intmain(){charch;inta=0;...

二进制、八进制、十进制和十六进制数制转换

一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...

二进制、十进制、八进制、十六进制间的相互转换函数

二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...

二进制、八进制、十进制和十六进制等常用数制及其相互转换

从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...

二进制如何转换成十进制?_二进制如何转换成十进制例子图解

随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...

二进制与十进制的相互转换_二进制和十进制之间转换

很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...

十进制如何转换为二进制,二进制如何转换为十进制

用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...

十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明

我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...

二进制转化为十进制,你会做吗?一起来试试吧

今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...

Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译

Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...

怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定

想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...

6个mp4格式转换器测评:转换速度与质量并存!

MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...