新闻中心
数据分析基础--SQL(数据分析基本课程)
我们在做数据分析的工作时,会用到大量的数据,而这些数据都来自于数据库,SQL可以让我们很方便的去访问和查询数据库。
作为一个数据分析师,我们需要掌握一些SQL的核心技能
1.数据库
什么是数据库?
对于这个问题每个人都有自己的理解
数据库(Database):就是一个存储数据的仓库,其本身其实是一张张表格,每张表格间又通过一定的联系连接在一起,就这样组成了一个数据库。
可以这样理解
数据库中最基本的元素为表(table),每张表都有一个主键(用于对表的身份进行标识,主键具有唯一性),表中包含列和行,列为名称标签,行为记录具体数据。
在数据库中如何关联其他的表后面会讲到
选取主流的数据库
市场上主流的数据有MySQL、Oracle、SQL Server等,而MySQL 是一个开源的关系型的数据库管理系统,应用非常广泛,因而选择使用Mysql学习sql是个不错的选择。
mysql的安装与配置非常简单,我们从官网下载社区版本安装,windows用户可以选择安装MSI安装(Windows Installer),一直默认安装,到了数据库用户和密码设置时,设置即可。
选取MySQL的GUI工具
这样的工具有很多种,每个人都有自己的喜好,我用的是HeidiSQL
该工具操作简单方便这里不过多叙述使用方法
SQL的基本操作
创建数据库,含有一个简单的数据表,并进行C(创建)U(更新)R(读取,查询)D(删除)操作数据表

创建数据库

打开数据库

查看所有数据库

删除数据库

在数据库中创建数据表,根据具体数据类型,选择想用数据长度

向表中写入记录

删除记录的数据

更新记录的数据

2.SQL重点知识
我们在进行数据分析时,最常用的功能就是查询功能,所以首先我们要明确SQL中一些语句的执行顺序

一、基础知识
列出一些关键字
select.....from
where
group by --having
order by
like
distinct
常用函数:sum,count, max, min,avg
case when then else end

group by 使用中需要注意的问题
1,注意返回结果集的字段,,这些字段要么要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中
2,where 搜索条件在进行group by 分组操作之前应用,不能使用聚合函数
3, having 搜索条件在进行分组操作之后应用,可以使用聚合函数

sum:返回数值列的总数、 avg: 返回列的平均值、 count()返回表中的记录数
max():返回最大值、 min():返回最小值
二、连接(join)查询
内连接
外连接
内连接
等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。
自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
多表内连接:将多张表连接在一起,只列出匹配的记录

自连接(特殊的内联接): 将一张表,在逻辑上分为两张表,每张表取不同的别名来区别

外连接
包括,左、右连接,返回所有的行

内联接 inner Join,找出两张表共有的字段;
左联接 left join,以 join 前面一张表为主,返回其所有行,如果与右表有相同的字段,全部返回,否则为空,右联接刚好与之相反。全连接 Full join, 两张表全部返回
图解如下

三、子查询
说白了就是嵌套查询,包含在某个查询中,如果子查询依赖于外部条件,则被称为相关子查询;
反之为非相关子查询