SparkSQL常用语法

  • Last update: August 25, 2023
  •  1. 概述

    本文来介绍 SparkSQL 中的一些常用操作符合语法。

    2. 常用操作符

    操作符含义详情
    =等值比较

    A=B。如果表达式 A 与表达式 B 相等,则为TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    <>不等值比较

    A <> B。如果表达式 A 为 NULL,或者表达式 B 为 NULL,返回 NULL;如果表达式 A 与 表达式 B 不相等,则为 TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    <小于

    A < B。 如果表达式 A 为 NULL,或者表达式 B 为 NULL,返回 NULL;如果表达式 A 小 于表达式 B,则为 TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    <=小于等于

    A <= B。如果表达式 A 为 NULL,或者表达式 B 为 NULL,返回 NULL;如果表达式 A 小 于或者等于表达式 B,则为 TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    >=大于等于

    A >= B。如果表达式 A 为 NULL,或者表达式 B 为 NULL,返回 NULL;如果表达式 A 大 于或者等于表达式 B,则为 TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    IS NULL空值判断

    A IS NULL。如果表达式 A 的值为 NULL,则为 TRUE;否则为 FALSE

    在 FineDataLink 中可以用 数据过滤 实现

    IS NOT NULL非空值判断

    A IS NOT NULL。 如果表达式 A 的值为 NULL,则为 FALSE;否则为TRUE

    在 FineDataLink 中可以用 数据过滤 实现

    LIKE模糊匹配

    A[NOT] LIKE B。

    如果字符串 A 或者字符串 B 为 NULL,则返回 NULL;如果字符串 A 符 合表达式 B 的正则语法,则为 TRUE;否则为 FALSE。B 中字符”_”表示任意单个字符,而字 符”%”表示任意数量的字符。

    FineDataLink 通过更简便的可视化方式实现模糊查询和筛选,提升用户的处理效率。详情参见:字段模糊查询/筛选

    AND逻辑与

    A AND B

    如果 A 为 TRUE,B 为 TRUE,则为 TRUE,否则 FALSE。 

    OR逻辑或

    A OR B

    如果 A,B 至少有一个为 TRUE,则为 TRUE,否则 FALSE

    3. AS-新增列/更改字段名

    示例:

    • 新增 type 列,值为测试 。SQL 语句为:select `name` ,'测试' AS type from ab

    • 新增 biaoji 列,数学成绩大于 90 标记为 1,否则标记为 0。SQL 语句为:select `math` ,if(`math` >90,1,0)  AS biaoji from ab

    推荐您使用更简便的方案:「新增列条件赋值

    若使用需要定义新增列为中文,则需要对列名加 `,例如:select "测试" as `字段`

    4. GROUP BY-数据去重

    详情参见:数据去重

    5. 排序

    Order by:全局排序

    SORT BY 和 DISTRIBUTE BY、CLUSTER BY :局部排序

    详情参见:数据排序

    6. LIMIT-约束返回行数

    示例:select * from DB表输入 limit 3

    7.  BETWEEN ... AND-约束返回行数

    注:BETWEEN ... AND 用于行区间选择的前提是有自增序列号的时候。

    说明:会选取介于两个值之间的数据范围,可用于对有序列号的数据集进行 行区间选择。 

    示例:

    select * FROM 

    DB表输入

    where `产品id`   between 2 and 3

    8. 表连接和联合

    • LEFT JION(左连接)

    • LEFT OUTER JION(左外连接)

    • LEFT SEMI JOIN(左半连接)

    • INNER JOIN 或 JOIN

    • RIGHT JION(右连接) 

    • RIGHT OUTER JION(右外连接)

    • FULL JOIN(全连接)

    • FULL OUTER JOIN(全外连接)

    • UNION

    • UNION ALL 联合

    详情参见:表连接与联合

    9. HAVING-分组后条件筛选

    根据 Having 关键字后面指定的筛选条件,将分组后不满足条件的记录筛选掉。

    示例:

    select `产品id`  FROM 

    DB表输入

    group by `产品id`  having `产品id` > 400

    10. PIVOT-行转列

    推荐您直接使用行转列算子。

    11. Stack-列转行

    推荐您直接使用列转行算子。


    附件列表


    主题: 数据开发
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy