数据治理 | 还在用Excel做数据分析呢?SQL它不香吗

   日期:2024-12-27    作者:szbubugao88 移动:http://oml01z.riyuangf.com/mobile/quote/72119.html

查看原文:【数据seminar】数据治理 | 还在用Excel做数据分析呢?SQL它不香吗

数据治理 | 还在用Excel做数据分析呢?SQL它不香吗

我们将在数据治理板块中推出一系列原创推文,帮助读者搭建一个完整的社科研究数据治理软硬件体系。该板块将涉及以下几个模块

  1. 计算机基础知识

(1)社科研究软硬件体系搭建——虚拟化技术概述与实践

  1. 编程基础

(1)数据治理 | 带你学Python之 环境搭建与基础数据类型介绍篇

(2)数据治理 | 带你学Python之控制结构与函数

(3)数据治理 | 带你学Python之面向对象编程基础

(4)本期内容数据治理 | 还在用excel做数据分析呢?SQL它不香吗

  1. 数据采集

  2. 数据存储

(1)安装篇 数据治理 | 遇到海量数据stata卡死怎么办?这一数据处理利器要掌握

(2)管理篇 数据治理 | 多人协同处理数据担心不安全?学会这一招,轻松管理你的数据团队

(3)数据导入 数据治理 | “把大象装进冰箱的第二步”:海量微观数据如何“塞进”数据库

  1. 数据清洗

  2. 数据实验室搭建

目录

前言

引言

Part 1  数据库和SQL

(一)数据库简介

(二)SQL简介

Part 2  从EXCEL到SQL

(一)数据筛选

(二)数据求和

(三)数据排序

(四)数据分组

(五)数据匹配

Part 3  总结


这里是 SQL 编程语法基础系列内容,该系列共包含两部分内容(本文属于第一部分内容,该部分讲述了Excel和SQL之间的区别,和Excel中数据的操作怎么用SQL来实现。该系列后续的一部分将会主讲SQL语法为主。

Excel是数据分析的必备工具,也是多数数据分析师接触的第一个工具,Excel能够解决我们对数据的基本操作,例如对数据进行记录、计算、过滤与分析等。

Excel是一个非常好用的工具,但也是有短板的,我们如果打开一个数据量很大的sheet,会发现打开的速度很慢,还时不时伴随着卡顿;Excel共享也不方便:我们想要别人也能访问和使用数据,需要将文件发送给对方才可以;Excel安全性较低:Excel作为一个办公软件,其安全性可想而知,没有太多的安全性功能。

面对这些问题,数据库能够很好为我们解决这些问题:数据库可以存放大批量的数据,一个表随随便便存个几十万是一点问题没有的,上百万,上千万也是很常见;数据库可以轻松的共享,且共享方便;数据库安全性高,有着复杂的安全机制和权限验证,也有非常完善的数据备份机制,能最大限度的保证数据的安全。

在本文首先,简单介绍了数据库的和SQL的概念,之后讲解Excel中对于数据的操作,怎么用SQL来完成,对于本文列出的5条SQL语句,读者们可以不需要完全理解,只需要大致了解其中的含义即可,我们会在该系列的第二部分详细讲解SQL语句。

简单的说,数据库(Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。数据库中可以存放许多不同的表,就像Excel里面能够写入不同的Sheet一样。

数据库分关系型数据库和非关系型数据库

  • 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织,Excel中的一个Sheet就是一张二维的表。关系型数据库中的每一个表,其实就是Excel中的每一个Sheet,关系型数据库使用方便,操作数据库的SQL语言通用(SQL是用来和数据库交流的语言,后面会讲到)。

  • 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。非关系型数据库不提供SQL支持,学习和使用成本较高。

人和人直接使用人类语言进行沟通,人和数据库之间则使用SQL语言进行“交流”。

SQL(Structured Query Language 结构化查询语句)是一种特定目的程序语言,用于管理关系数据库管理系统。SQL的功能包括数据插入、查询、更新和删除,数据库的创建和修改,以及数据访问控制等。SQL就像指令,每一条指令都会交给数据库管理系统,管理系统会执行对应的操作。可根据下图加深理解。

原始数据展示

为方便大家学习,我们准备了一份演示数据,文件名为国民经济指标2017.xlsx,在MySQL数据库中也存放了一张一模一样的表,表名为国民经济指标2017

下图展示了数据的前20行

我们可以利用Excel工具栏中的筛选选项,来对表格中的内容进行筛选

我们在指标名称中选择<生产总值>后点击确定,然后就能够看到筛选后的结果

筛选后的结果

在Excel中,我们需要通过鼠标进行各种的操作,而在数据库中,我们只需要编写简单的SQL语句,就能够满足我们的筛选要求

 

SQL执行结果(文本内容)

 

这条SQL语句很好理解,用到了三个关键词

  • select 关键词:用来查询数据,这边的 * 指的是所有列的数据。

  • from 关键词:定义从那张表中进行查询,这边从<国民经济指标2017>这张表中查询。

  • where 关键词:用来筛选我们指定的数据,这边需要满足指标名称为<生产总值>的数据。

我们可以观察到,Excel复杂的操作,我们利用SQL一条语句就能够实现。

(具体的语法细节,我们将在下一期推文重点介绍

为了方便观察,我们从原来的Excel表中将指标名称为<生产总值>提取到了一个新的Sheet。

在Excel中,我们可以利用求和的公式来对框选的数据进行求和,操作如下

选择需要求和的项点击Enter键后,下图是求和后的值

下面是利用SQL对表中的数据进行求和操作

 

SQL执行结果(文本内容)

 

可以看到SQL语句中有也有字样,这说明SQL的一些语法,跟Excel还是很类似的。

我们可以利用工具栏中的升序和降序,来对数据进行排序

排序前表格示例

排序后结果(升序)

下面我们利用SQL来进行排序关键词是用来排序的

 

SQL执行结果(文本内容)

 
 

假设我们想要求出不同指标的各项总和,在Excel中我们可以利用<数据透视表>选项进行分组,可以在<插入>栏中点击<表格和区域>并在新Sheet中创建

<指标名称>拖入行,将<指标取值>拖入值就能看到分组后的结果

分组求和后的结果

SQL中的分组,使用关键词,并用函数求和

 

SQL执行结果(只展示前5行文本内容)

 
 

我们在Excel中可以使用VLOOKUP函数来对不同表进行数据匹配

需求如下,表2是某些城市的“生产总值”数据,表1中的第三列“指标取值”,是待匹配的列,我们需要根据城市来匹配出指定的<指标取值>

匹配过程如下

使用函数需要传入4个参数

  1. 第1个参数为待匹配数据的关键字,在表二中要根据这个“城市”列,来查找“指标名称”。

  2. 第2个参数需要选择数据表,F3:G13 表示表2中的数据

  3. 第3个参数为列序数,这里的列序数代表的是你要输出的数据在数据表的第几列,例如想要输出指标取值填2,指标单位填3

  4. 第4个参数传入匹配的规则,0代表准确匹配,1代表模糊匹配

匹配后的结果

在SQL中,我们还是可以利用一条SQL语句来实现表的整合

 

SQL执行结果(文本内容)

 
  • left join 关键词:指定联结的类型,在SQL中有很多不同的联结方式,这边采用左联结。

  • on 关键词:指定对照的信息,这边根据表中的城市列进行匹配。

本文介绍了Excel和SQL之间的联系,可以看出SQL能够轻松的完成我们对数据的操作需求,而且SQL要比Excel处理数据方便的多也更加的灵活,下期我们将会详细介绍具体的SQL语法细节,以及更多的SQL语句用法。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号