sql 2008 每次打开一个表都要登录_数据分析基础--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(删除)操作数据表

2f4677dbcc1cf0add75f1840fa7d672c.png

创建数据库

202c776fec4b1134724feb4cebe784f8.png

打开数据库

51f8f37914713f967871bec64896ad5d.png

查看所有数据库

ae75a47e8e98ae5e3e43971db3dabcef.png

删除数据库

bce1c91ac53c604ae34153230e1921e9.png

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

31c94a9364ff3e4da5232919e710e5c6.png

向表中写入记录

94f1bcd76261d222a38693a4696a7cfa.png

删除记录的数据

f97c649e3d54464e48bfaaea841b06f1.png

更新记录的数据

36038da3d6762b6e26bfa33e8f1bb2ca.png

2.SQL重点知识

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

6658b041d11afdc3db1946869aca5fde.png

一、基础知识

列出一些关键字

select.....from

where

group by --having

order by

like

distinct

常用函数:sum,count, max, min,avg

case when then else end

61c8365f214ba5f59d1b894d2a3befbe.png

group by 使用中需要注意的问题

1,注意返回结果集的字段,,这些字段要么要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中

2,where 搜索条件在进行group by 分组操作之前应用,不能使用聚合函数

3, having 搜索条件在进行分组操作之后应用,可以使用聚合函数

19d1fe182288dbb6df2a73ae58b0fba2.png

sum:返回数值列的总数、 avg: 返回列的平均值、 count()返回表中的记录数

max():返回最大值、 min():返回最小值

二、连接(join)查询

内连接

外连接

内连接

等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。

自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

多表内连接:将多张表连接在一起,只列出匹配的记录

19e93f8cd9c2f225d75f23b4c916b2c7.png

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

f9376a51916e32f71d05a1b160aa9b01.png

外连接

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

62654bc915c477a65d39a1102142b3dd.png

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

全连接 Full join, 两张表全部返回

图解如下

8f8ce28f6f3513a0b1b415ffae990cf2.png

三、子查询

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

反之为非相关子查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值