听说过一种叫SQL的计算机语言吗?你可能在数据分析方面听说过它,但从来没有想过它会适用于你作为营销人员。或者,你可能会想,“这是给真的先进的数据用户。我绝对做不到。”

你大错特错了!最成功的营销人员都是受数据驱动的,而受数据驱动最重要的部分之一就是能够快速地从数据库中收集数据。SQL恰好是实现这一目的的最好和最流行的工具之一。

下载9个Excel模板,用于营销人员[免费套件]

SQL是结构化查询语言(Structured Query Language)的缩写,当公司有大量数据需要以一种简单而快速的方式进行操作时,就使用它。如果您的公司已经raybet电子竞技在数据库中存储了数据,那么您可能需要学习SQL来访问数据。但是不要担心——你在正确的地方开始!

在开始之前,请确保您有一个数据库管理应用程序,它允许您从数据库中提取数据。一些选项包括MySQL工作台或者续集专业版。首先下载其中一个选项,然后与您的公司交谈有关如何连接到您的数据库。raybet电子竞技您选择的选项取决于您的产品的后端,因此请与您的产品团队联系以确保您选择正确的产品。

让我们跳进去。

为什么使用SQL?

SQL的美妙之处在于,任何在关系数据库中存储数据的公司工作的人都可以使用它。raybet电子竞技(很有可能,你的简历就是这样。)

如果您在一家软件公司工作,并且希望获雷&raybet电子竞技#31454;技苹果下载官方版取客户的使用数据,那么您可以使用SQL来实现这一点。如果你在一家电子商务公司工作,该公司有关于客户购买的数据,raybet电子竞技你可以使用SQL找出哪些客户正在购买哪些产品。当然,这些只是众多例子中的一小部分。

以这种方式思考:您是否曾在Excel中开设了非常大的数据,只为您的计算机冻结甚至关闭?SQL允许您一次只访问数据的某些部分,以便您不必将数据下载到CSV中,操纵它,并可能过载Excel。换句话说,SQL负责处理您可以在Excel中进行的数据分析。(如果你想更多地挖掘这个方面,那么更多,这里有一篇博客文章让你开始)。

如何编写简单的SQL查询

了解数据库的层次结构

在开始之前,重要的是要熟悉数据库及其层次结构。如果您有多个数据数据库,那么您将需要关注您想要处理的数据的位置。

例如,让我们假设我们正在使用多个关于美国人的数据库。输入查询“SHOW DATABASES;”。我们的结果可能显示您有两个不同位置的数据库,包括一个新英格兰。

在您的数据库中,您将有不同的表,其中包含您想要处理的数据。使用上面的相同示例,假设我们想找出其中一个数据库中包含哪些信息。如果我们使用查询"SHOW TABLES in NewEngland;",我们会发现每个新英格兰州都有表:人们_c康涅狄格,people_maine, people_massachusetts, people_newh安普夏尔,people - rhodeisland和people - vermont

最后,您需要了解表中的字段。字段是您可以从数据库中拉出的特定数据。例如,如果要提取某人的地址,则字段名称可能不仅可能是“地址” - 它可以分为Address_City,Address_State,Address_Zip。要解决这个问题,请使用查询“描述people_massachusetts;”。这将提供您可以使用SQL推出的所有数据的列表。

让我们用新英格兰的例子快速回顾一下这个层次结构:

  • 我们的数据库是:NewEngland。
  • 我们在该数据库中的表是:人们_c康涅狄格,people_maine, people_massachusetts, people_newh安普夏尔,people - rhodeisland和people - vermont。
  • people_massachusetts表中的字段包括:address_city、address_state、address_zip、hair_color、first_name和last_name。

现在,要学习如何编写一个简单的SQL查询,让我们使用以下示例:

按字母顺序排列的马萨诸塞州2003年出生红头发的人是谁?

选择

选择选择要在图表中显示的字段。这是您要从数据库中拉出的具体信息。在上面的例子中,我们想找到谁适合其余的标准。

下面是我们的SQL查询:

选择
first_name、
last_name

FROM确定要从中提取数据的表。在前面的部分中,我们发现新英格兰的六个州分别有六张表格:people_connecticut、people_maine、people_massachusetts、people_newhampshire、people_rhodeisland和people_vermont。因为我们要找的是马萨诸塞州的人,所以我们会从那个特定的表中提取数据。

下面是我们的SQL查询:

选择
first_name、
last_name

people_massachusetts

在哪里

其中允许您过滤您的查询以更具体。在我们的示例中,我们希望过滤我们的查询,仅包括在2003年出生的红发的人。让我们从红发过滤器开始。

下面是我们的SQL查询:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

如果你想查看马萨诸塞州所有的人以及他们特定的头发颜色,hair_color可以作为你最初SELECT语句的一部分。但如果你想过滤一下只有有红头发的人,你可以在哪里陈述。

并允许您为您的Where语句添加其他标准。请记住,除了在2003年出生的人之外,我们还希望通过红发的人进行过滤。自从我们的陈述是由红发标准造成的,我们如何通过特定的出生年过滤?

这就是和陈述进来的地方。在这种情况下,和陈述是日期属性 - 但它不必要。(注意:要查看与产品团队的日期的格式,以确保其格式正确。)

下面是我们的SQL查询:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'

订购

当您创建SQL查询时,您不应该必须将数据导出到Excel。计算和组织应该在查询中完成。这就是“ORDER BY”和“GROUP BY”函数的作用所在。首先,我们将分别查看使用ORDER BY和GROUP BY函数的SQL查询。然后,我们将简要地看看两者之间的区别。

ORDER BY子句允许您按SELECT语句中指定的任何字段进行排序。在这种情况下,我们按姓氏排序。

下面是我们的SQL查询:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
订购
last_name
;

集团

“GROUP BY”类似于“ORDER BY”,但它将聚合具有相似之处的数据。例如,如果您的数据中有任何重复,您可以使用“GROUP BY”来计算字段中重复的数量。

这是您的SQL查询:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
集团
last_name
;

Order by vs group by

为了清楚地显示“ORDER BY”语句和“GROUP BY”语句之间的区别,让我们简要地跳出我们的马萨诸塞州示例,看看一个非常简单的数据集。以下是四名员工的身份证号码和姓名。

按组排序

如果我们要在此列表中使用订单,员工的名称将按字母顺序排序。结果如下所示:

订购

如果使用GROUP BY语句,将根据员工在初始表中出现的次数对其进行计数。注意,Peter在最初的表格中出现了两次。结果如下所示:

集团

到目前为止和我在一起?好的。让我们回到SQL查询,我们一直在2003年出生的马萨诸塞州的红发人。

限制

根据您在数据库中拥有的数据量,运行查询可能需要很长时间。如果您发现自己等待长时间运行您真正想要的Query,可能会令人沮丧。如果您想测试我们的查询,则限制功能是一个很好的使用,因为它允许您限制您获得的结果数量。

例如,如果我们怀疑在马萨诸塞州有数百万人有红头发,我们可能想要在完全运行查询之前使用LIMIT测试查询,以确保获得了我们想要的信息。比如说,我们只希望看到前100个人。

下面是我们的SQL查询:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
订购
last_name
限制
100.
;

这就是最基本的!

感觉好吗?以下是一些其他方法可以让您的SQL查询陷入困境。

奖金:高级SQL提示

既然您已经掌握了如何创建SQL查询,那么让我们看看其他一些技巧,您可以使用这些技巧使查询更上一层层,从星号开始。

*

当您向一个SQL查询添加星号时,它将告诉该查询您希望在结果中包含所有数据列。在我们使用的示例中,只有两个列名:first_name和last_name。但是假设我们想要在结果中看到15列的数据——在SELECT语句中输入所有15列的名称会有点麻烦。相反,如果您用星号替换这些列的名称,查询将知道将所有列拉入结果。

下面是SQL查询的样子:

选择
*

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
订购
last_name
限制
100.
;

最后三十天

一旦我经常开始使用SQL,我发现我的一位转到查询涉及试图找到哪些人在过去30天内采取行动或履行某一条标准。由于这种类型的查询对我很有用,因此我想与您分享该功能。

让我们假装今天是2014年12月1日。您可以通过在2014年11月1日和2014年11月30日之间制作出生_date跨度来创建这些参数。SQL查询将如下所示:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

birth_date BETWEEN '2014-11-01' AND '2014-11-30'
订购
last_name
限制
100.
;

但这需要思考过去30天的日期,这意味着您必须不断更新此查询。相反,为了使日期自动跨越过去30天,无论是哪一天,您都可以在其中键入它:staring_date> =(date_sub(curdate(),间隔30。

(注意:您将希望通过产品团队仔细检查此语法,因为它可能根据您用来拉动SQL查询的软件不同。)雷竞技苹果下载官方版

因此,您的SQL查询应该是这样的:

选择
first_name、
last_name

people_massachusetts
在哪里
hair_color = "红色"

DATE_SUB(CURDATE(),INTERVAL 30) = (DATE_SUB(CURDATE(),INTERVAL 30))
订购
last_name
限制
100.
;

在某些情况下,您可能希望计算字段的标准出现的次数。例如,假设您想要计算您正在统计的来自马萨诸塞州的人的不同头发颜色出现的次数。在这种情况下,COUNT将会派上用场,这样你就不必手动添加不同头发颜色的人数或将该信息导出到Excel中。

这就是SQL查询的样子:

选择
发色,
伯爵(发象)

people_massachusetts

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
集团
hair_color
;

加入

有时可能需要在一个SQL查询中访问来自两个不同表的信息。在SQL中,可以使用JOIN子句来完成此操作。(对于那些熟悉Excel公式,这类似于在需要组合Excel中两个不同表格中的信息时使用VLOOKUP公式。)

例如,假设我们有一个表,其中包含所有马萨诸塞州居民的用户id和他们的出生日期。假设我们还有一个完全独立的表,其中有所有马萨诸塞州居民的用户id和他们的头发颜色的数据。如果我们想知道2003年出生的马萨诸塞州居民的头发颜色,我们需要从这两个表中获取信息并将它们组合起来。这是因为两个表共享一个匹配的列:Massachusetts居民的用户id。

因为我们从两个不同的表中呼出字段,所以我们的Select语句也将稍微改变。而不是列出我们想要包含在我们的结果中的字段中,我们需要指定他们来自的哪个表。(注意:星号函数可以在此处致电,因此您的查询包括结果中的两个表。)

要指定来自特定表的字段,我们所要做的就是将表的名称与字段的名称结合起来。例如,我们的SELECT语句会说“table”。Field”——用句点分隔表名和字段名。

让我们看看实际情况是怎样的。

我们在这种情况下假设一些事情:

  1. MassAchusetts BirthDate表包括以下字段:First_Name,Last_Name,User_ID,出生地
  2. Massachusetts Mair Color Color表包括以下字段:User_ID,Mair_Color

因此,您的SQL查询应该是这样的:

选择
birthdate_massachusetts。first_name、
birthdate_massachusetts。last_name


birthdate_massachusetts JOIN haircolor_massachusetts USING (user_id)
在哪里
hair_color = "红色"

birth_date BETWEEN '2003-01-01' AND '2003-12-31'
订购
last_name
;

这个查询将使用“user_id”字段连接两个表,该字段同时出现在birthdate_massachusetts表和haircolor_massachusetts表中。然后你就能看到2003年出生的红头发的人的表格。

恭喜:您已准备好开始使用自己的SQL查询!虽然你可以用SQL可以做很多,但我希望你发现这个基础知识的概要,所以你可以得到你的帅气。凭借基础知识的强大基础,您将能够更好地导航SQL并朝一些更复杂的示例工作。

你很高兴使用SQL兴奋的数据?

新的呼叫动作
新的呼叫动作

最初发布于2015年3月25日上午8:00:00,2019年7月23日更新

主题:

数据驱动营销