数据分析基本要求:熟练SQL。

74 篇文章 0 订阅
25 篇文章 0 订阅

摘要

经常看到一份数据分析岗位的招聘要求:“熟练使用SQL”。那你真的熟练吗?

最基本的几个问题,SQL是什么?数据库是什么?RDBMS又是什么?什么叫表?

数据库(Database):按照数据结构来组织、存储和管理数据的仓库。

RDBMS:(Relational Database Management System)

关系数据库管理系统,存储和操作关系数据库表中排列的数据的软件。

SQL:Structured Query Lanuage(结构化查询语言),更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

:按列和行排列的一组数据。列表示存储数据的特征,行表示实际的数据条目。

了解完以上关于数据库的一些基本概念之后,进入今天的主题?宝器将他命名为SQL精简版复习大纲

目录

 

1、数据库查询语言

1.1、如何选择多列

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT <Column List>FROM <Table Name>WHERE <Search Condition># 例子SELECT FirstName, LastName, OrderDateFROM Orders WHERE OrderDate > "10/10/2010"

 

1.2、如何选择某一列并去重(重点)

  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT DISTINCT <Column_name>FROM <Table Name>#例子SELECT DISTINCT FirstName FROM Orders

 

1.3、如何从第一行开始选择一共五行数据?

  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT <col_name >FROM table_name limt 5 offset 1;#例子SELECT FirstName FROM Orders  limt 5 offset 1;

 

1.4、如何按照指定方向(升、降)排序选择数据?

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT co_name1,col_name2 FROM table_name ORDER BY col_name1 DESC,col_name2 ASC#例子SELECT ,FirstNameFROM Orders ORDER BY OrderDate DESC

 

1.5、常见的一些过滤选择有哪些。(重点)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#范围内检查SELECT col_name FROM table_name WHERE col_name BETEWEEN 5 AND 10;#空值检查SELECT col_name FROM table_name WHERE col_name IS null;# in操作符SELECT col_name FROM table_name WHERE col_name IN (....);# NOT操作符SELECT col_name FROM table_name WHERE NOT (条件);#AND 和 OR 注意优先级 and 优先级高于orSELECT col_name FROM table_name WHERE (condi_1 OR condi_2) AND condi_3;#第五部分使用通配符进行过滤SELECT col_name FROM table_name WHERE col_name like "..%..";SELECT col_name FROM table_name WHERE col_name like ".._..";SELECT col_name FROM table_name WHERE col_name like "[]%";

 

1.5、如何分组并按条件选择数据?(重点)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT <Column List>, <Aggregate Function>(<Column Name>)FROM <Table Name>WHERE <Search Condition>GROUP BY <Column List>#例子SELECT LastName, SUM(OrderValue)FROM OrdersWHERE OrderDate > "10/10/2010"GROUP BY LastName注意点: GROUP BY 后面也可以接条件。WHERE 语句和HAVING配合的使用。WHERE在HAVING之前。WHERE 过滤针对的是行,HAVING过滤针对的是组。

 

1.6、分组和排序的顺序是什么?(重点)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

/*SELECR FROM WHEREGROUP BY HAVING ORDER BY*/SELECT col_name FROM table_nameWHERE <condition_1>GROUP BY <col_name>HAVING <condition_2>ORDER BY <col_name>

 

1.7、如何使用子查询?(重点)

  •  
  •  
  •  
 

SELECT col_name FROM table_name WHERE  col_name  = (SELECT  col_name  FROM table_name WHERE .... );

 

1.8、表的联结查询怎么做(非常重点!!!!一定要会!)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT <Column List>FROM <Table1> JOIN <Table2>ON <Table1>.<Column1> = <Table2>.<Column1>、#例子SELECT Orders.LastName, Countries.CountryNameFROM Orders INNER JOIN Countries ONOrders.CountryID = Countries.ID除此之外还有左联结 LEFT JOIN右联结 RIGHT JOIN全联结 FULL JOIN

 

1.9、如何使用联合查询

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法SELECT <Column List> FROM <Table1>UNIONSELECT <Column List> FROM <Table2>#例子SELECT <Column List> FROM <Table1>UNIONSELECT <Column List> FROM <Table2>

 

2、数据库操作语言

2.1、INSERT(插入)

  •  
#语法INSERT INTO <Table Name>(<Column List>) VALUES (<Values>)#例子INSERT INTO Orders(FirstName, LastName, OrderDate) VALUES("John", "Smith", "10/10/2010")

 

2.2、UPDATE(更新)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法UPDATE <Table Name>SET <Column1> = <Value1>, <Column2> = <Value2>, …WHERE <Search Condition>#例子UPDATE OrdersSET FirstName = "John", LastName = "Who" WHERE LastName="Wo"

 

2.3、DELETE(删除)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法DELETE FROM <Table Name>WHERE <Search Condition>#例子DELETE FROM OrdersWHERE OrderDate < "10/10/2010"

 

3、数据库定义语言

 

3.1、CREATE (创建表)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

# 语法CREATE TABLE <Table Name>( Column1 DataType, Column2 DataType, Column3 DataType) # 例子 CREATE TABLE Orders( FirstName CHAR(100), LastName CHAR(100), OrderDate DATE)

 

3.2、ALTER(更改表)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 

#语法CREATE TABLE <Table Name>ADD col_name Datatype;CREATE TABLE <Table Name>DROP COLUMN <col_name> # 例子ALTER TABLE Vendors ADD vend_phone CHAR(20);ALTER TABLE Vendors DROP COLUMN vend_phone;

 

3.3、DROP (删除表)

  •  
  •  
  •  
  •  
  •  
 

#语法DROP TABLE table_name;#例子DROP TABLE CustCopy;

 

4、数据库控制语言

4.1 GRANT

4.2 REVOKE

本部分展开太细,不做介绍,做为数据分析师需要重点掌握查询语句!

后记:内容较多,如有错误请及时与我联系修正。

品略图书馆 http://www.pinlue.com/ http://m.pinlue.com/

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值