从 SQL 到集算器的基本查询语法迁移(一)单表操作
数据库和数据分析领域,有一个强大的存在,大名 SQL,全名结构化查询语言 (Structured Query Language)。从字面上看,这个语言的目标就是把数据“查询”出来,而查询这个词给人的感觉并不是很难。但实际上,为了支持貌似简单的查询,需要进行大量的计算动作,甚至整个过程就是一个多步骤的计算,前后步骤之间还有很强的依赖关系,前面计算的结果要被后面使用,而后面的输出有可能需要我们对前面的计算进行调整。
打个比方,这有点类似于去各类网点办事,填表递交后,相关办事人员开始在窗口后忙忙碌碌,时不时还会甩回来几个问题要求澄清,等到最后拿到回复,还有可能根本不是自己期望的结果!这时候,坐在办事窗口外的我们,抓狂之余,往往会产生一个念头,如果我们能够看到,甚至参与到过程中,应该能够大大地提高办事效率。
没错,你应该能想到,下面要介绍的集算器,和 SQL 相比对于我们这些过程控来说,就是一个可以轻松把玩和控制的计算(不止是查询)工具。
我们要做的,就是“照猫画虎”地把习惯中的 SQL 操作迁移到集算器中,用小小的习惯改变,换来大大的效益提升。
首先,我们需要把数据从传统的数据源中“搬迁”到集算器中,这样后续的操作就可以完全在集算器中进行了。
我们最常用的数据源一般就是关系数据库 RDB。这里使用的样例数据,就是数据库中的两个数据表:
订单信息表(order,主键 orderId),包括订单编号orderId、客户代码customerId、雇员编号employeeId、订单日期orderDate、发送日期sendDate以及金额money:
orderId | customerId | employeeId | orderDate | sendDate | money |
---|---|---|---|---|---|
10248 | VINET | 2 | 2011-02-04 | 2011-02-16 | 440 |
10249 | TOMSP | 9 | 2011-02-05 | 2011-02-10 | 1863 |
10250 | HANAR | 9 | 2011-02-08 | 2011-02-12 | 1813 |
10251 | VICTE | 9 | 2011-02-08 | 2011-02-15 | 670 |
订单明细表(orderDetail,主键 orderId,productId),包括订单编号orderId、产品编号productId、价格price、数量amount、折扣discount:
orderId |
---|