前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析招聘要求:熟练SQL!| 精简版复习大纲送给大家!

数据分析招聘要求:熟练SQL!| 精简版复习大纲送给大家!

作者头像
挖数
发布2019-06-20 14:01:55
6870
发布2019-06-20 14:01:55
举报
文章被收录于专栏:挖数挖数

文章转载自公众号:数据管道

摘要

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

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

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

RDBMS:(Relational Database Management System)

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

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

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

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

目录:

1、数据库查询语言

1.1、如何选择多列

代码语言:javascript
复制
#语法
SELECT <Column List>
FROM <Table Name>
WHERE <Search Condition>

# 例子
SELECT FirstName, LastName, OrderDate
FROM Orders WHERE OrderDate > '10/10/2010'

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

代码语言:javascript
复制
#语法
SELECT DISTINCT <Column_name>
FROM <Table Name>

#例子
SELECT DISTINCT FirstName FROM Orders

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

代码语言:javascript
复制
#语法
SELECT <col_name >
FROM table_name 
limt 5 offset 1;

#例子
SELECT FirstName FROM Orders  limt 5 offset 1;

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

代码语言:javascript
复制
#语法
SELECT co_name1,col_name2 
FROM table_name 
ORDER BY col_name1 DESC,col_name2 ASC

#例子
SELECT ,FirstName
FROM Orders 
ORDER BY OrderDate DESC

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

代码语言:javascript
复制
#范围内检查
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 优先级高于or
SELECT 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、如何分组并按条件选择数据?(重点)

代码语言:javascript
复制
#语法
SELECT <Column List>, <Aggregate Function>(<Column Name>)
FROM <Table Name>
WHERE <Search Condition>
GROUP BY <Column List>

#例子
SELECT LastName, SUM(OrderValue)
FROM Orders
WHERE OrderDate > '10/10/2010'
GROUP BY LastName

注意点: 
GROUP BY 后面也可以接条件。
WHERE 语句和HAVING配合的使用。WHERE在HAVING之前。
WHERE 过滤针对的是行,HAVING过滤针对的是组。

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

代码语言:javascript
复制
/*
SELECR 
FROM 
WHERE
GROUP BY 
HAVING 
ORDER BY
*/
SELECT  col_name FROM table_name
WHERE <condition_1>
GROUP BY <col_name>
HAVING <condition_2>
ORDER BY <col_name>

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

代码语言:javascript
复制
SELECT col_name FROM table_name 
WHERE  col_name  = 
(SELECT  col_name  FROM table_name WHERE .... );

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

代码语言:javascript
复制
#语法
SELECT <Column List>
FROM <Table1> JOIN <Table2>
ON <Table1>.<Column1> = <Table2>.<Column1>、

#例子
SELECT Orders.LastName, Countries.CountryName
FROM Orders INNER JOIN Countries ON
Orders.CountryID = Countries.ID

除此之外还有左联结 LEFT JOIN
右联结 RIGHT JOIN
全联结 FULL JOIN

1.9、如何使用联合查询

代码语言:javascript
复制
#语法
SELECT <Column List> FROM <Table1>
UNION
SELECT <Column List> FROM <Table2>

#例子
SELECT <Column List> FROM <Table1>
UNION
SELECT <Column List> FROM <Table2>

2数据库操作语言

2.1 INSERT(插入)

代码语言:javascript
复制
#语法
INSERT INTO <Table Name>
(<Column List>) VALUES (<Values>)

#例子
INSERT INTO Orders
(FirstName, LastName, OrderDate) VALUES
('John', 'Smith', '10/10/2010')

2.2 UPDATE(更新)

代码语言:javascript
复制
#语法
UPDATE <Table Name>
SET <Column1> = <Value1>, <Column2> = <Value2>, …
WHERE <Search Condition>

#例子
UPDATE Orders
SET FirstName = 'John', LastName = 'Who' WHERE LastName='Wo'

2.3 DELETE(删除)

代码语言:javascript
复制
#语法
DELETE FROM <Table Name>
WHERE <Search Condition>

#例子
DELETE FROM Orders
WHERE OrderDate < '10/10/2010'

3、数据库定义语言

3.1、CREATE (创建表)

代码语言:javascript
复制
# 语法
CREATE TABLE <Table Name>
( Column1 DataType,
 Column2 DataType,
 Column3 DataType)
 
 # 例子
 CREATE TABLE Orders
( FirstName CHAR(100),
 LastName CHAR(100),
 OrderDate DATE)

3.2、ALTER(更改表)

代码语言:javascript
复制
#语法
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 (删除表)

代码语言:javascript
复制
#语法
DROP TABLE table_name;

#例子
DROP TABLE CustCopy; 

4、数据库控制语言

4.1 GRANT

4.2 REVOKE

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 挖数 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档