10个必须掌握的SQL常用语句

article/2025/9/22 17:41:00

世界上70%的相关性数据可以被储存为表格数据,即类似ExcelCsv类型的数据,如何去查询和分析相关性的数据?对于少量数据,我们可以使用Excel,更多一点数据,我们可以使用Python, pandas 处理大数据 ;那么亿万条数据,我们此时就需要借助 SQL,那么掌握常用的 SQL 需要对处理大型数据非常必要。

下面我将介绍10SQL中常用的分析技巧,供大家学习参考。

1 SELECT all columns with LIMIT

一般,我们需要了解数据的大概,那么我们一般会选择前5行进行打印,看看具体内容包括哪些!SELECT 命令会选择所有的行、列,全部进行打印时,浪费时间、电脑内存,Limit命令可以查看数据中的前几行。

SELECT * FROM Customers LIMIT 3;

 Limit在MySQL这种可以正常工作,在其他的SQL中可能需要使用TOP, FETCH FIRST ROWS ONLY

2 WHERE clause

WHERE可以对特定列的值进行过滤。例如,我们过滤来自西班牙的国家,并且返回对应的城市。

SELECT City FROM CustomersWHERE Country = "Spain";

 我们也可以对城市进行 Unique

SELECT DISTINCT City FROM CustomersWHERE Country = "Spain";

 3 GROUP BY and HAVING clause

当我们想要对数据中相同观测值进行分组时,我们可以使用 GROUP BY, HAVING 可以用来过滤加总的数据,常用的包括 sumcount

HAVING 用来处理加总数据,而WHERE用来处理非加总数据。

我们有世界各国的数据,想要输出人口大于500,000,000的洲:

SELECT continent, SUM(population)FROM worldGROUP BY continentHAVING SUM(population)>500000000.  --filter the aggregated values

 

4 Order By clause

Order By 将数据按照选择的列进行升序或者排列:

将选择的数据按照人口降序排列:

SELECT name, populationFROM worldWHERE population > 200000000ORDER BY population DESC;

 

5 Date Function

时间处理函数依赖于SQL的内核,不同SQL的时间处理函数有所差异,DATEPART 可以提取时间中的年月日。

提取时间中的年、月:

SELECT whn,DATEPART(YEAR, whn) AS yr,DATEPART(MONTH, whn) AS mnthFROM eclipse

 

6 Joins

Joins 包括笛卡尔积、内积、外积、Self Join,接下来我们将介绍 Innerleft join right join

 

inner

inner 可以输出两个表或者更多表中共同的行,类似数学中的韦恩图,取两个集合的交集。

当我们取两个集合共同id, 并且仅仅输出前五行:

SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN CustomersON Orders.CustomerID = Customers.CustomerIDLIMIT 5; 

 

 

left join

left join 仅仅输出左边表中的所有行,输出结果中右边表不存在的值为Null

左连表, 按照 Customers.CustomerName进行升序排列:

SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersLEFT JOIN OrdersON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerNameLIMIT 5;

 

 right join

右连表与左连表相反,返回右表中的所有行,左表不存在的行将填充Null值。

SELECT Orders.OrderID, Employees.LastName, Employees.FirstNameFROM OrdersRIGHT JOIN EmployeesON Orders.EmployeeID = Employees.EmployeeIDORDER BY Orders.OrderID; 

 

7 Case When clause

Case When 可以让我们根据现有的数据生成一些新的列,类似于PythonExce中的if-else语法。

例如,基于国家人口数据,生成新列population_bucket:

SELECT name, population,CASE WHEN population<1000000 THEN 'small'WHEN population<10000000 THEN 'medium'ELSE 'large'         --ELSE is executed if no condition is satisfiedEND as population_bucket   --name of the new columnFROM world

 Remark: 没有else时,对应的输出将为 Null

8 Subqueries

子查询在SQL中尤为重要,一旦我们领悟,我们将读懂更为复杂的SQL语句。

例如,输出人口大于俄罗斯的国家的名字:

SELECT name FROM worldWHERE population >(SELECT population FROM worldWHERE name='Russia')

9 Window function

窗口函数包括以下三种:

加总函数(Aggregate functions):SUM, AVG, MAX, MIN

排序函数(Ranking functions):RANK, ROW_NUMBER

分析函数(Analytic functions):LEAD, LED

另外,我们可以使用Over 语句去定义这些窗口函数,Over 语句和 PARTITION BY 常常联合使用。

例如,对每年每个党派的投票按照降序排列:

SELECT yr,party, votes,RANK() OVER (PARTITION BY yr ORDER BY votes DESC) as posnFROM geWHERE constituency = 'S14000021'ORDER BY party,yr

 

10 Union

Union 常常用来竖直方向组合多个数据集,输入的数据应该具有以下两个特征:

列的的名字和数量是形同的

每列的数据类型是相同的

SELECT DISTINCT CityFROM (SELECT City FROM CustomersUNIONSELECT City FROM Suppliers)LIMIT 5;

例如,组合消费者和供应者所在的城市:

 

                                                                  END


http://chatgpt.dhexx.cn/article/eYqgW6F5.shtml

相关文章

从零开始USRP+GNRRADIO系列(基础入门篇和C++自定义模块)

从零开始USRPGNRRADIO系列&#xff08;基础入门篇&#xff09; 文章目录 从零开始USRPGNRRADIO系列&#xff08;基础入门篇&#xff09;usrp简介创建第一个usrp图C自定义模块 usrp简介 通用软件无线电外设&#xff08;USRP&#xff09;是由Ettus Research及其母公司National I…

入门学习计算机第十八天——自定义数据类型(结构体)

入门学习计算机第十八天——自定义数据类型&#xff08;结构体&#xff09; 编译器&#xff1a;Microsoft Visual Studio 2019 自定义类型&#xff1a; 结构体枚举联合体 结构体 结构体类型的声明 结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量 结构的…

【计算机基础】

文章目录 线程、协程的状态 计算机网络DNS解析 计算机基础进程间通讯的7种方式讲一下程序的虚拟内存、常驻内存和逻辑内存。堆和栈是存啥的&#xff1f;什么是大小端? 什么是死锁&#xff1f;什么情况下会发生&#xff08;避免&#xff09;死锁&#xff1f;死锁产生的4个必要条…

计算机基础(1)

目录 一、计算机发展 1.1计算机发展史 1.2计算机分类 1.2.1按规模划分 1.2.2服务器与客户机 1.2.2.1 服务器按外形分类 1.3服务器硬件 一、计算机发展 1.1计算机发展史 1、第一代计算机(1946-1957) 电子管时代 冯诺依曼体系结构&#xff1a;数字计算机的数制采用二进…

计算机基础介绍

1、组成部分 中央处理器、内存、存储设备、输入/输出设备、通信设备&#xff08;各部分通过总线来连接&#xff09; 2、冯诺依曼体系结构&#xff1a;现代计算机的基础 3、中央处理器&#xff08;CPU&#xff09;——计算机的大脑 &#xff08;1&#xff09;作用&#xff1a…

C语言基础入门——自定义类型

学习目标&#xff1a; 学习并了解C语言自定义类型 目录 学习目标&#xff1a; 一、结构体 ●结构体的声明 ●结构体的引用 ●结构体的定义和初始化 ●结构体的内存对齐 ●结构体的传参 ●结构体的位段&#xff08;位段的可填充和可移植性&#xff09; 二、枚举 ●枚举的定…

1.计算机基础

目录 1.1计算机系统 1.3 计算机硬件 1.4 计算机常用计数制 1.5 数据表示 1.1计算机系统 计算机多种形式&#xff1a;电脑&#xff0c;笔记本&#xff0c;智能手机&#xff0c;服务器等&#xff1b; 两部分组成&#xff1a;硬件系统和软件系统。 1.1.1 世界上第一台计算机 世…

一、计算机基础

计算机基础 一、第 1 章 计算机基础知识1-1 计算机概述1-1-1 计算机的产生与发展&#xff08;一&#xff09;计算工具的发展&#xff08;二&#xff09;现代计算机的发展&#xff08;三&#xff09;计算机的分代&#xff08;四&#xff09;计算机新技术的发展 1-1-2 计算机的特…

计算机基础及入门

1、计算机基本概念 1.1、计算机是什么 计算机&#xff08;computer&#xff09;&#xff1a; 俗称电脑&#xff0c;是现代一种用于高速计算的电子计算机器 特点&#xff1a; 数值计算&#xff1b;逻辑计算&#xff1b;存储记忆&#xff1b;能按照程序运行、自动、高速处理处理…

计算机基础入门

说明&#xff1a;计算机包含硬件(hardware)和软件(software)两部分。 计算机分为6大硬件&#xff1a; 1.CPU 即中央处理器&#xff08;central processing unit&#xff0c;简称CPU&#xff09;作为计算机系统的运算和控制核心&#xff0c;是信息处理、程序运行的最终执行单元。…

计算机基础的介绍

计算机概念 这是一个家用计算机的硬件和软件组成&#xff1a; 计算机软件代码最基层 — 固件&#xff0c;在计算机首次启动时由处理器运行一些引导加载程序&#xff0c;比如从U盘、光盘等读取操作 系统。这些程序永久储存在计算机内存中&#xff0c;所以称作固件。嵌入式操作…

计算机基础

文章目录 一、数据结构1. 排序算法快排归并排序堆 2. 结构堆和栈区别数组与链表数据库相关的B树、B树跳表LSM树红黑树前缀树 二、Java基础0 基础问题1. 抽象类和接口的区别2. final关键字、内部类、static3. 多态4. 成员变量和局部变量5. String类、StringBuilder类6. Java集合…

计算机基础知识——基础入门(一)

目录 CPU 一、CPU是什么 二、CPU 实际做什么 三、CPU 的内部结构 CPU 是寄存器的集合体 四、CPU 指令执行过程 内存 一、什么是内存 二、内存的物理结构 内存的读写过程 内存的现实模型 三、内存的使用 指针 数组是内存的实现 栈和队列 链表 二叉树 磁盘 认…

计算机基础教程(一)

《大学计算机基础教程PDF》下载链接 链接&#xff1a;https://pan.baidu.com/s/1PGsvh1oRD1euWUedEXNl8w 密码&#xff1a;zt4x 推荐先看下面的两本&#xff1a; 计算机是怎样跑起来的 程序是怎样跑起来的 这两本百度云连接&#xff0c;CSDN审核不通过&#xff0c;可以自己…

韩漫《绿色镌像》又名《绿色镌刻》

雕塑专业的学生马修在第一眼遇到陈时感受到了命运&#xff0c;而陈青宇看透了充满肮脏金钱和背叛的冷酷世界&#xff0c;他不断忍受着心中的疼痛&#xff0c;直到与马修相见&#xff0c;他开始展露自己的欲望...隐藏着不同欲望的两个男人的故事自此开幕——

推荐几个免费看漫画的资源网站,请低调收藏

1、木马动漫 https://omyschool.com/ 2、第6夜漫画 http://www.d6ye.com/ 3、土豪漫画 https://www.tohomh123.com/ 4、动漫屋 http://www.dm5.com/ 5、漫画柜 https://www.manhuagui.com/

电子漫画 - 轻轻松松

▲ 有的器件的功能只有在它损坏的时候才能够体现 1970,5 《大众电子》 ▲ 欧姆定律漫画 ▲ 另外一个欧姆定律漫画 ▲ LED应用时总是需要串联一个限流电阻 LED&#xff1a;你使我闪亮&#xff0c;否则我会灭亡 电阻&#xff1a;你是那么漂亮&#xff0c;直戳我的新房

有哪些漫画在线观看?最好是好看的完结漫画

在线漫画就是指把原有的漫画书籍以图片加文字的形式绘画出来&#xff0c;再连载于各大漫画网站或者漫画软件上&#xff0c;漫画在线观看&#xff0c;不用下载。而现在好看的漫画太多了&#xff0c;有些漫画是新番&#xff0c;有些漫画是完结作品。机智的我&#xff0c;当然是要…

【破解软件】知音漫客免费看更多漫画

历史文章推荐&#xff1a; 1、漫客栈破解版 2、漫画岛破解版 3、漫画台破解版 4、二次元漫画破解版 【软件名称】: 知音漫客&#xff08;免费版&#xff09; 【软件版本】: v_4.9.5 【软件大小】: 23.25MB 【支持系统】: 安卓系统 【亲测演示】: 软件无需登录包含更多漫画…

没有好看的百合漫画,纯纯的校园爱情漫画也不错

百合漫画一般都是指女孩与女孩之间的爱情故事&#xff0c;有很多漫迷小伙伴喜欢看这一类好看的百合漫画。现在动漫为了迎合读者的口味&#xff0c;越来越多的动漫作品中也加入了百合情节。不过呢&#xff0c;没有找到好看的百合漫画的同学&#xff0c;其实纯纯的校园爱情漫画也…