关联查询
在数据组件上,设置多表关联查询,使用数据库的 join 方式实现,要求关联查询涉及的数据集必须在同一个数据库内。
特别说明
- 同一个模块内的数据集,可以使用数据组件的关联查询
- 跨模块跨应用的数据集,如果连接同一个数据库,可以使用数据组件的关联查询
- 跨模块跨应用的数据集,如果连接同一种类型的数据库,可以使用 SQL 数据集通过 SQL 实现关联查询
- 跨模块跨应用的数据集,如果连接不同类型的数据库,可以使用输出数据集实现关联查询,参考《输出数据集》
数据组件的关联查询支持内连接、左连接、右链接、全连接。这几种方式设计时的操作方法都是一样的,设置关联的时候选择具体的连接类型即可
关联条件可以设置多个
最终执行的 sql 根据不同的设置,可以有多种组合方式
1.select A.*,B.name,B.age from A left join B on A.id=B.id or A.name=B.name
2.select A.*,B.name,B.age,C.creatAt from A left join B on A.id=B.id or A.name=B.name left join C on A.id=C.id
3.select A.*,B.name,B.age from A left join B on A.id=B.id or (A.name=B.name and A.age>B.age)
下面讲解一个三张表的关联查询的案例
学生表
成绩表
课程表
要查出成绩大于70的学生以及课程名和教师,可以如下设置:
在页面上拖放学生表,然后对学生表设置关联查询,需要两层关联查询才可以把学生、成绩、课程名、教师查出来
关联查询后就可以在过滤条件的设置中对成绩进行过滤
这样就能查出需要的结果