FUll stack marketing lesson3关于SQL语言使用程序



  • 老师我的问题比较多,分别叙述吧:
    1、作业中,第一个构建数据库的意思就是创立一个原始的分析表格吗? 就是对表格的列和行应该涉及的内容进行总结?
    2、我现在公司有很多关于公交车运营情况的数据却无人在意,他们大多以excel,wps表格的格式存在。现在我想用这些数据实践一下我才学习的SQL语言,请问我应该把这些表格导入进哪个系统进行SQL的代码比较好呢?
    3、作为一名marketer,对SQL的掌握程度分为哪几个等级呢? 还有就是如果系统的学习SQL有什么比较好的学习框架推荐吗? 比如主要分为,SQL基础语句学习(单个) SQL进阶,几个语句的套用。 最后,就marketer的实际工作中,用到的SQL语句中,频率最高的语句是哪些呢?

    问题比较多,thank you for your time.



  • 1.作业中Part1,就是根据基本需求里面所有的那些数据,你认为应该如何建立表格,建立几个,每个里面包含哪些信息,表与表如何联系,已经你这么建表自己设定了哪些assumptions?

    ● 查询到员工的基本信息,如姓名、性别、电话、电邮、住址、录用日期、直接领导、薪水、职位、部门、工作地址(包括街道号码名称、城市、州、zipcode)

    打个比方:你觉得根据这些信息,首先应该有个员工表,员工表中想要包含(姓名、性别、电话、电邮、住址、录用日期、直接领导、薪水),如果这么建表,哪个数据应该是表中的PK?是否应该多加一个信息作为PK?如此建表其中一个assumption就是这个员工的薪水不会变,所以这样建表可能并不是最好的,如何能把薪水变化包含进去,这些都是需要思考的问题。

    尝试一下,看看自己可以做到什么样,在建表过程中,多给自己提出些问题,是非常有利于思考的~

    2.我个人是用SQL server的,但这个下载可能比较复杂,建议你可以尝试在网上找找资源,数据导入其实也是一个非常系统的工程,需要做data normalization等工作,这一块其实也是非常大的一块,可以在网上找一些资料来读一下。

    建议先从我留的作业入手,从基础的数据分析DML Statement入手进行学习,之后再多了解一些DDL Statement。

    3.其实这个等级很难分,如果没有SQL基础的话,可以先从最简单的开始,在一张表格中找到自己想要定位的信息;接下来链接两个表格,运用一些基础的join跟subquery来解决;之后再联系比较难的几张表相连。这个过程当中,如果想要思考的更加透彻,可以像我讲课的时候给大家做的可视化,思考一下一个query背后的运作是什么样的,如果想通了,对于你之后练习比较难的多表相连很有帮助,有时间可以再看看SQL的PPT。

    4.作为marketer整个select大语句下面的应用相对会偏多一些,也就是说database已经建好了,每个表格下面有什么数据已经固定了,然后你需要运用这个database去写一些query进行数据分析。最基础的需要搞懂的语句selec from不多说,这是后面语句的基础。在这之下,需要了解各类join, union, union all, where, having, group by, aggregate functions(这是一类用法,不是一个语句), order by, subquery(这是一类用法,不是一个语句)。如果先把这些语句学会了,就能解决一些比较基本的问题了,其他更复杂的语句随着你运用SQL越来越熟练,自己进行深度学习的时候会理解的更快,先把基础打好很重要。

    写了很多,请不要害怕,新接触一门语言的时候都是困难的,但多应用多练了以后会发现自己慢慢的就通了,关键是能坚持过前面的困难期,加油!



  • 此回复已被删除!


  • @旻FUll stack marketing lesson3关于SQL语言使用程序 中说:

    我想请教一下 关于 COUNT函数的用法。
    现在有表格
    0_1474604496823_1.png
    我的函数写的是
    select count(distinct customerID) from customers

    运行结果显示的记录数为1,count的结果是 74
    我不是很明白这个74是怎么得到的?

    C此外 如果函数是 select count(customerid) from customers
    where customerid=7
    这时记录数为1,但是count的结果又是4? 这个4又是从哪里来的呢?



  • @旻
    从你现在写的query我无法判断出你最初的问题是什么。可以告诉我你这道题是想要解决什么问题吗?

    1. 从你写的select count(distinct customerID) from customers,这个语句的意思是计算出customers表格中所有独特的customerID一共有多少个,所以记录数肯定是1,我做出的结果是91个独特的customerID。这个query有一个问题就是customers表格中本来customerid就全都是独特的,因为是PK,所以并不需要写dinstinct做出的结果就应该是一样的。

    2. 从你写的select count(customerid) from customers
      where customerid=7这个语句来看,是找到customers表格中customerid为7的客户一共出现了几次,若是在customers表格中的话,那结果应该为1。

    从你给我粘贴的图片可以看出是orders表格,而且你的所有答案应该是在orders表格中做出来的哦。


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待