轻松搞定数据分析之MySQL——复杂查询

我们又见面啦,今天我们将来学习如何用SQL进行复杂查询。在学习开始之前,希望你明确四个概念:

是什么:这个知识点是什么?基本概念要知道;

如何用:如何使用到实际数据分析中;

有什么用:再怎样的数据场景下使用这个知识;

注意事项:这个知识点使用时需要注意那些规则和细节。

接下来,我们开始学习今天的内容吧!

1.视图

a.什么是视图:

表:存放实际数据

视图:基于 SQL 语句的结果集的可视化表,存放的是SQL查询语句。详细来说:

从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。

从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表,当查询连接断开时,这张虚拟表就会被自动删除。

从数据库系统外部来看,视图是由一张或多张表中的数据组成的,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。

需要注意的是:

视图是一种数据库对象,用户可以象查询普通表一样查询视图。

视图内其实没有存储任何数据,它只是对表的一个查询。

视图的定义保存在数据字典内。创建视图所基于的表为“基表”。

视图一经定义以后,就可以像表一样被查询、修改、删除和更新。

说了这么多,是不是感觉都不是人话,没关系,我们总结一下:

视图包含行和列,是一张虚拟表,,但就像真正的表一样。视图中的字段是一个或多个数据库中真实表中的字段。

您可以添加 SQL 语句,在哪里添加,并将语句连接到视图,或者您可以呈现数据,就像数据来自单个表一样。

视图是数据库中一个比较重要的组成部分,在隔离实体表的前提下还可以让用户查询到需要的数据,可以起到保护底层数据的作用。同时针对不同的人群,视图也可以起到简化用户对数据的理解。

b.如何创建视图

CREATE VIEW语句

CREATE VIEW view_name(column_name1,column_name2,...)ASSELECT column_name(s) -- select子句使用在as关键字后面 FROM table_nameWHERE condition

注意:视图总是显示最新数据!每当用户查询视图时,数据库引擎就使用视图的 SQL 语句重新构建数据。

栗子:

CREATE VIEW 按性别汇总(性别,人数)

AS

SELECT 性别,COUNT(*)

FROM student

GROUP BY 性别;

c.如何使用视图

如果你在工作中需要经常使用“按性别汇总”这个查询,则可以不用每一次都去输入一遍SQL语句,只要如上例所示,创建一个视图,并在from字句中使用视图名称代替表名称。

SELECT 性别,人数

FROM 按性别汇总;

对于重复性工作来说,这简直太提高效率了,有木有?

你可能感兴趣的:(轻松搞定数据分析之MySQL——复杂查询)