0
点赞
收藏
分享

微信扫一扫

HANA Basic SQL 03

勇敢乌龟 2022-06-17 阅读 107

9、Join

Let's look at inner join

Check two table

 

HANA Basic SQL 03_系统搭建HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

 

If you didn't specify "EMPID" select from which table the system will throw an error message

column ambiguously defined: EMPID

HANA Basic SQL 03_系统搭建

10、UNIONS

Check table data Firstly

HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

Now we union EMPID field data from two table

 

HANA Basic SQL 03_系统搭建

If you don't want to delete the duplicate data, you can use : union all

HANA Basic SQL 03_系统搭建

11、Filter data by having

select "HANA04"."EMPFACT1".empid as ID,

sum(sal) as total

from "HANA04"."EMPFACT1","HANA04"."EMPFACT2"

where "HANA04"."EMPFACT1"."EMPID" = "HANA04"."EMPFACT2"."EMPID"

group by "HANA04"."EMPFACT1".empid

HANA Basic SQL 03_系统搭建

How can we only get data which total not lower than 9999?

 

select "HANA04"."EMPFACT1".empid as ID,

sum(sal) as total

from "HANA04"."EMPFACT1","HANA04"."EMPFACT2"

where "HANA04"."EMPFACT1"."EMPID" = "HANA04"."EMPFACT2"."EMPID"

group by "HANA04"."EMPFACT1".empid

having sum(sal) > 9999

 

HANA Basic SQL 03_系统搭建

12、SUB-SELECTS

select

"HANA04"."EMPFACT1".empid ,

"HANA04"."EMPFACT2".deptname,

avg("HANA04"."EMPFACT1".sal)

from "HANA04"."EMPFACT1","HANA04"."EMPFACT2"

where "HANA04"."EMPFACT2".empid = "HANA04"."EMPFACT1".empid

 

group by "HANA04"."EMPFACT1".empid,deptname

HANA Basic SQL 03_系统搭建

Add having filter

HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

select

"HANA04"."EMPFACT1".empid ,

"HANA04"."EMPFACT2".deptname,

avg("HANA04"."EMPFACT1".sal)

from "HANA04"."EMPFACT1","HANA04"."EMPFACT2"

where "HANA04"."EMPFACT2".empid = "HANA04"."EMPFACT1".empid

 

group by "HANA04"."EMPFACT1".empid,deptname

 

having avg("HANA04"."EMPFACT1".sal) >

(

    select avg(sal) from "HANA04"."EMPFACT1"

)

 

 

13、Array data

HANA Basic SQL 03_系统搭建

create column table tab1

(

    col1 int primary key,

    col2 int array

);

 

insert into tab1 values

(

4, array ( 1,2,3,4 )

);

insert into tab1 values

(

5, array ( 11,22,33,44 )

);

HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

 

HANA Basic SQL 03_系统搭建

HANA Basic SQL 03_系统搭建

 

Update data

upsert tab1 values

(

4,array ( 12,13,11,15 )

)

where col1 = 4

 

 

select

col1 ,

col2[1],

col2[2],

col2[3],

col2[4]

from tab1

 

HANA Basic SQL 03_系统搭建

 

Get array count

insert into tab1 values

(

1,array ( 1,2,3,4,5 )

);

 

insert into tab1 values

(

2,array ( 1,2,3,4,5,6 )

);

 

select

    cardinality(col2)

from tab1

order by col1

 

HANA Basic SQL 03_系统搭建

 

Get array data and ordinality

HANA Basic SQL 03_系统搭建

Insert

insert into tab1 values

(

6,array(20,21,22)||array(23,24,25,26,27,null,29,null)

);

 

insert into tab1 values

(

7,array(20,21,22,23,24,25,26,27,null,29,null)

)

 

Check data

select

col1 ,

col2[1],

col2[2],

col2[3],

col2[4],

col2[5],

col2[6],

col2[7],

col2[8],

col2[9],

col2[10],

col2[11]

from tab1

where col1 > 5

HANA Basic SQL 03_系统搭建


举报

相关推荐

0 条评论