7.13 多级关联

 

在两个相互关联的表中,通过多级关联关系进行过滤。
根据相互关联的员工表和部门表,查询哪些美国籍员工的经理是中国籍。

imagepng

可以使用 A.switch() 函数将外键字段转成外键表中对应记录。

脚本:

A
1 =connect(“db”)
2 =A1.query(“select * from Employee”)
3 =A1.query@x(“select * from Department”)
4 =A3.switch(Manager, A2:ID)
5 =A2.switch(Dept, A4:ID)
6 =A5.select(Nation==“American” && Dept.Manager.Nation==“Chinese”)

A1 连接数据库
A2 查询员工表
A3 查询部门表
A4 使用 switch 函数将部门表的 Manager 字段转成对应的员工记录
A5 使用 switch 函数将员工表的 Dept 字段转成对应的部门记录
A6 选出国籍是美国,且经理的国籍是中国的员工

运行结果:

ID Name Nation Dept
11 Simon American 2
103 Rudy American 2