关于sql语句:在文件上使用-SQL-查询的示例

5次阅读

共计 1456 个字符,预计需要花费 4 分钟才能阅读完成。

【摘要】
本文介绍间接用 SQL 查问文件数据的各种状况,并用 esProc SPL 举例实现。请点击在文件上应用 SQL 查问的示例理解详情

在数据分析业务中常常要解决数据文件。咱们晓得,对于数据库中的数据,应用 SQL 来查问是十分方便快捷的,所以很容易想到把文件数据先导入到数据库再用 SQL 来查问。然而文件数据导入数据库自身也是很繁琐的工作,那么有没有间接对数据文件应用 SQL 查问的方法呢?本文将介绍这样的方法,列举出用 SQL 查问文件数据的各种状况,并提供用 esProc SPL 编写的代码示例。esProc 是业余的数据计算引擎,SPL 中提供了欠缺的用 SQL 查问文件数据的办法。

本文用文本文件举例,但同时也实用于 Excel 文件。

1. 过滤

应用 SQL 从文本文件中筛选满足条件的记录。

示例:从学生成绩表 Students_scores.txt 中筛选出 10 班的学生问题,文件中第一行是列名,第二行开始是数据,如下图所示。

2. 汇总

应用 SQL 对文本文件中的数据进行汇总。

示例:计算学生成绩表中全体学生的语文平均分、数学最高分、英语总分。

3. 跨列计算

应用 SQL 对文本文件中的数据进行跨列计算。

示例:计算学生成绩表中每位学生的总分。

A1 中后果如下,减少了一个新的计算列 total_score:

4. CASE 语句

在 SQL 中能够应用 CASE 语句进行简单条件计算。

示例:计算学生成绩表中每位同学的英语问题是否及格。

A1 中后果如下,减少了一个新的计算列 English_evaluation:

5. 排序

应用 SQL 对文本文件中的数据进行升 / 降序排序。

示例:将学生成绩表依照班号升序、总分降序的顺序排列。

6. TOP-N

应用 SQL 对文本文件中的数据求 TOP-N。

示例:查看英语问题最高的 3 个同学问题。

7. 分组汇总

应用 SQL 对文本文件中的数据进行分组汇总。

示例:查问各班的英语最低分、语文最高分、数学总分。

8. 分组后过滤

应用 SQL 对文本文件中的数据分组汇总后再过滤。

示例:找出英语平均分低于 70 分的班级。

A1 中查问后果如下:

9. 去重

应用 SQL 对文本文件中的数据进行去重查问。

示例:查问所有班级编号。

10. 去重计数

应用 SQL 对文本文件中的数据进行去重计数。

示例:在产品数据文件中,统计共有多少种不同产品。文件局部数据如下所示:

11. 分组去重计数

应用 SQL 分组对文本文件中的数据分组后进行去重计数。

示例:依据产品销售数据文件,统计每个产品有销售记录的天数。

12. 两个文件关联查问

应用 SQL 对两个文本文件中的数据进行关联查问。

示例:产品信息和销售信息别离存储在两个文本文件中,计算每次销售数量小于 10 的产品的总销售额。两个文件数据结构如下图:

13. 多个文件关联查问

应用 SQL 对多个文本文件中的数据进行关联查问。

示例:州信息,部门信息和员工信息别离存储在 3 个文本文件中,查问 California 州的 HR 部门的员工。

14. 多个文件多级关联查问

应用 SQL 对多个文本文件中的数据进行多级关联查问。

示例:州信息,部门信息和员工信息别离存储在 3 个文本文件中,查问经理在 California 州的 New York 州员工。

15. 嵌套子查问

反对简单 SQL 作为子查问。

示例:员工信息和部门信息别离存储在 2 个文本文件中,找出部门经理最年老的部门。文件局部数据如下图所示:

16. 专用表表达式

应用 SQL 的 with 子句对文本文件中的数据进行计算。

示例:从部门数据文件中找出指定部门 HR、R&D、Sales,再计算这几个部门女员工人数和平均工资。数据文件同上例。

《SPL CookBook》中还有更多麻利计算示例。

正文完
 0