数据空间
您当前的位置: 首页 /数据知识

“熟练使用SQL”,那你真的熟练吗?精简版复习大纲送给大家

发布时间:[2019-04-10] 来源:数据管道(ID:adc9556)
点击量:

中国企业数据治理联盟www.chinaedg.com/

进入》主数据管理    企业数据治理   信息资源规划   数据安全管理

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

RDBMSRelational Database Management System):关系数据库管理系统,存储和操作关系数据库表中排列的数据的软件。

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

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

了解完以上关于数据库的一些基本概念之后,进入今天的主题——SQL精简版复习大纲。

目录:

QQ截图20190410160248.jpg

01 数据库查询语言

1. 如何选择多列

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

2. 如何选择某一列并去重(重点)

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

3. 如何从第一行开始选择一共五行数据?

#语法SELECT <col_name >FROM table_name limt 5 offset 1;
#
例子SELECT FirstName FROM Orders  limt 5 offset 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

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 '[]%';

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

#语法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配合的使用。WHEREHAVING之前。WHERE 过滤针对的是行,HAVING过滤针对的是组。

7. 分组和排序的顺序是什么?(重点)

/*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>

8. 如何使用子查询?(重点)

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

9. 表的联结查询怎么做(非常重点!!!!一定要会!

#语法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

10. 如何使用联合查询

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

02 数据库操作语言

1. INSERT(插入)

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

2. UPDATE(更新)

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

3. DELETE(删除)

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

03 数据库定义语言

1. CREATE (创建表)

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

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. DROP (删除表)

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

04 数据库控制语言

1. GRANT

2. REVOKE

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

作者:爱德宝器

来源:数据管道(IDadc9556


发表评论 共有条评论
用户名: 密码:
匿名发表