拼接

阅读(296) 标签: 拼接, 关联,

功能:

右表按基准列与左表关联,将指定列拼接到左表上。支持左连接、内连接、全连接、对位连接。执行后记录顺序通常不保持与焦点表一致。

语法:

拼接 [<基准列名>] [关联表 <关联表名>] [<关联列名>] [拼接列 {[<拼接列原名>] [命名 <拼接列新名>]}] [方式] [条件 <条件式>]

参数:基准列名

左表(当前表)中用于关联的一个或多个字段,包括#。

可选,省略参数名。无该参数时必须用条件建立非等值关联。

参数:关联表 <关联表名>

被拼接的右表。

必填,不可省略参数名。

参数:关联列名

右表用于关联的一个或多个字段,包括#。

必填,省略参数名,省略参数值时用主键或基准列同名的列。

参数:拼接列

用于拼接的右表中的列。

必填,复合参数,含有2个子参数,分别是拼接列原名、命名 <拼接列新名>,多组表示拼接多个列。

示例:

STUDENT表数据如下:

ID

NAME

GENDER

AGE

1

Emily

F

17

2

Elizabeth

F

16

3

Sean

M

17

4

Lauren

F

15

SCORES表数据如下:

CLASS

STUDENTID

SUBJECT

SCORE

Class one

3

English

75

Class one

3

Math

86

Class one

3

PE

67

Class one

4

English

96

Class one

4

Math

63

Class one

4

PE

81

Class one

5

English

72

Class one

5

Math

60

拼接 ID; 关联表 SCORES;STUDENTID 拼接列 CLASS 命名 Class_Name,SUBJECT,SCORE  //焦点表为STUDENTS表,将STUDENTS表通过字段ID与SCORES表的STUDENTID字段关联,拼接上SCORES表的CLASS,SUBJECT,SCORE列,并将CLASS列命名为Class_Name,结果如下: 

ID

NAME

GENDER

AGE

Class_Name

SUBJECT

SCORE

1

Emily

F

17

 

 

 

2

Elizabeth

F

16

 

 

 

3

Sean

M

17

Class one

English

75

3

Sean

M

17

Class one

PE

67

3

Sean

M

17

Class one

Math

86

4

Lauren

F

15

Class one

English

96

4

Lauren

F

15

Class one

PE

81

4

Lauren

F

15

Class one

Math

63

参数:方式

关联时的连接方式。

必填,枚举类型,枚举值:左连接、内连接、全连接、对位。参数缺省为左连接。其中对位表示按位置或行号#进行关联,即行号相同的记录关联在一起。对位时,基准列名和关联列名都是#,可以省略。

示例:

EMPLOYEE表数据如下: 

EID

NAME

GENDER

DEPT

SALARY

1

Rebecca

F

R&D

7000

2

Ashley

F

Finance

11000

3

Rachel

F

Sales

9000

4

Emily

F

HR

7000

5

Ashley

F

R&D

16000

6

Matthew

M

Sales

11000

7

Alexis

F

Sales

9000

8

Megan

F

Marketing

11000

9

Victoria

F

HR

3000

10

Ryan

M

R&D

13000

FAMILY表数据如下:

EID

NAME

RELATION

GENDER

AGE

1

Jacky

child

Male

15

1

Linda

child

Female

17

1

Vincent

spouse

Male

52

2

Anna

spouse

Female

41

3

Andy

child

Male

10

3

Carmen

child

Female

14

3

Denny

spouse

Male

47

4

Chelsea

spouse

Female

40

5

Cherry

spouse

Female

43

6

Christine

spouse

Female

42

7

Daisy

spouse

Female

49

7

Petter

child

Female

12

11

Ailsa

child

Female

5

11

Tom

spouse

Male

40

11

Tommy

child

Male

7

拼接 EID; 关联表 FAMILY  拼接列 RELATION  GENDER NAME AGE 全连接  //焦点表为EMPLOYEE表,使用全连接方式关联,关联列和基准列同名所以省略,结果如下:

EID

NAME

GENDER

DEPT

SALARY

RELATION

GENDER

NAME

AGE

1

Rebecca

F

R&D

7000

child

Male

Jacky

15

1

Rebecca

F

R&D

7000

spouse

Male

Vincent

52

1

Rebecca

F

R&D

7000

child

Female

Linda

17

2

Ashley

F

Finance

11000

spouse

Female

Anna

41

3

Rachel

F

Sales

9000

child

Male

Andy

10

3

Rachel

F

Sales

9000

spouse

Male

Denny

47

3

Rachel

F

Sales

9000

child

Female

Carmen

14

4

Emily

F

HR

7000

spouse

Female

Chelsea

40

5

Ashley

F

R&D

16000

spouse

Female

Cherry

43

6

Matthew

M

Sales

11000

spouse

Female

Christine

42

7

Alexis

F

Sales

9000

spouse

Female

Daisy

49

7

Alexis

F

Sales

9000

child

Female

Petter

12

8

Megan

F

Marketing

11000

 

 

 

 

9

Victoria

F

HR

3000

 

 

 

 

10

Ryan

M

R&D

13000

 

 

 

 

 

 

 

 

 

child

Female

Ailsa

5

 

 

 

 

 

child

Male

Tommy

7

 

 

 

 

 

spouse

Male

Tom

40

DEPARTMENT表数据如下: 

MANAGER

DEPT

1

Administration

2

R&D

3

Sales

4

Finance

5

HR

6

Marketing

7

Production

8

Technology

拼接  关联表 EMPLOYEE;  拼接列 NAME,SALARY  对位  //焦点表为DEPARTMENT表,使用对位方式关联,将DEPARTMENT表与EMPLOYEE表行号相同的记录关联在一起,结果如下:

MANAGER

DEPT

NAME

SALARY

1

Administration

Rebecca

7000

2

R&D

Ashley

11000

3

Sales

Rachel

9000

4

Finance

Emily

7000

5

HR

Ashley

16000

6

Marketing

Matthew

11000

7

Production

Alexis

9000

8

Technology

Megan

11000

参数:条件 <条件式>

对关联后的结果进行过滤,通常含有基准表(左表)的字段和右表的字段,其中基准表的字段必须用@后缀,非基准表的字段没有@后缀。仅支持内连接和左连接

可选,不可省略参数名。无该参数时,必须有参数基准列名,有该参数时,可以没有参数基准列名。

示例:

拼接 ID; 关联表 SCORES;STUDENTID 拼接列 CLASS ,SUBJECT,SCORE  条件 (ID@<5 且 (["English","PE"]  包含 SUBJECT) )  //焦点表为STUDENTS表,将STUDENTS表通过字段ID与SCORES表的STUDENTID字段关联,拼接上SCORES表的CLASS,SUBJECT,SCORE列,过滤条件是STUDENTS的ID字段值小于5,且SUBJECT值为English或PE。结果如下:

ID

NAME

GENDER

AGE

CLASS

SUBJECT

SCORE

3

Sean

M

17

Class one

English

75

3

Sean

M

17

Class one

PE

67

4

Lauren

F

15

Class one

English

96

4

Lauren

F

15

Class one

PE

81