SAP HANA 运算符:Union&Union All

2020-08-31 13:11发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)

SAP HANA Operator可以用于计算,值比较或分配值。SAP HANA包含以下运算符-

一元和二元运算符

算术运算符

字符串运算符

比较运算符

逻辑运算符

设定运算子


一元和二元运算符

操作员操作方式描述
一元一元运算符适用于一个操作数一元加运算符(+)一元否定运算符(-)逻辑求反(NOT)
二元二元运算符适用于两个操作数乘法运算符(*,/)加法运算符(+,-)比较运算符(=,!=,<,>,<=,> =)逻辑运算符(AND,OR)

算术运算符


  • 减法(-)

  • 乘法(*)

  • 部门(/)

字符串运算符

字符串运算符是将两个项(例如字符串,表达式或常量)组合为一个的串联运算符。

两个竖线“ ||” 用作串联运算符。

比较运算符

比较运算符用于比较两个操作数。以下是比较运算符的列表-

  • 等于(=)

  • 大于(>)

  • 小于(<)

  • 大于或等于(> =)

  • 小于或等于(<=)

  • 不等于(!=,<>)

逻辑运算符

搜索条件中使用逻辑运算符。

例如,条件1和/或/非条件2

以下是逻辑运算符的列表–

  • AND-(例如WHERE条件1和条件2)

    如果Condition1和Condition2都为true,则Combine条件为true,否则它将为false。

  • 或–(例如,WHERE条件1 OR条件2)

    如果Condition1或Condition2为true,则两个条件均为false时,组合条件为true或false。

  • 不-(例如,“不存在”条件)

    NOT条件为true如果Condition为false。

集合运算符

  • UNION-组合两个或多个选择语句或查询,但不重复。

  • UNION ALL-组合两个或多个选择语句或查询,包括所有重复的行。

  • INTERSECT-组合两个或多个select语句或查询,并返回所有公共行。

  • EXCEPT-从第一个查询获取输出,并删除第二个查询选择的行。

例如

我有两个表(table1,table2),其中一些值是公用的。

SAP HANA操作员:Union&Union All

我们为SQL中的这两个表使用Set运算符(Union,Union ALL,Intersect除外),如下所示–

创建Table1- SQL脚本

Create Table1- SQL Script

CREATE	 COLUMN TABLE DHK_SCHEMA.TABLE1
(        ELEMENT CHAR(1),			
       PRIMARY KEY (ELEMENT)
);			
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('P');
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('Q');			
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('R');			
INSERT	INTO DHK_SCHEMA.TABLE1 VALUES ('S');			
INSERT	INTO DHK_SCHEMA.TABLE1 VALUES ('T');

Create Table2- SQL Script

CREATE	COLUMN TABLE DHK_SCHEMA.TABLE2
(        ELEMENT CHAR(1),			
       PRIMARY KEY (ELEMENT)
);			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('S');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('T');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('U');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('V');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('W');

Note: Here "DHK_SCHEMA" is a schema name, the user can change schema name in SQL accordingly.

Set Operator Examples are as below -

Operator
SQL Query
Output
Uses
UNIONSELECT *

FROM

(

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE1

UNION

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE2

) ORDER BY ELEMENT;

SAP HANA Operator: Union & Union All

Combine Result of two or more query with no duplicate.
UNION ALLSELECT *

FROM

(

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE1

UNION ALL

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE2

)

ORDER BY ELEMENT;

SAP HANA Operator: Union & Union All

Combine Result of two or more query with all duplicate.
INTERSECTSELECT *

FROM

(

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE1

INTERSECT

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE2

)

ORDER BY ELEMENT;

SAP HANA Operator: Union & Union All

Combine Result of two or more query with all common rows.
EXCEPTSELECT *

FROM

(

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE1

EXCEPT

SELECT ELEMENT

FROM DHK_SCHEMA.TABLE2

)

ORDER BY ELEMENT;

SAP HANA Operator: Union & Union All

Takes output from first query and removes row selected by the second query

 


赞赏支持