7.4 关联查询:左连接 - 单字段关联
两个相互关联的表,通过左连接跨表计算。
根据相互关联的学生表和评价表,查询每个学生的总评分。每个学生的基础评分是 70 分,再根据评价表中的加分减分项计算总评分。
使用 join() 函数的 @1 选项左连接,以第一个序表为基准,无匹配项的用 null。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query(“select * from Students”) |
3 | =A1.query@x(“select * from Evaluation”) |
4 | =A3.group(StudentID) |
5 | =join@1(A2:Students,ID;A4:Evaluation,StudentID) |
6 | =A5.new(Students.ID:ID,Students.Name:Name,70+Evaluation.sum(Score):Score) |
A1 连接数据库
A2 查询学生表
A3 查询评价表
A4 评价表按照学生编号分组
A5 使用join@1 () 函数左连接学生表和分组后的评价表
A6 创建序表,计算每个学生的总评分(基础分 70+ 评价总分数)
运行结果:
ID | Name | Score |
---|---|---|
1 | Ashley | 85 |
2 | Rachel | 65 |
3 | Emily | 70 |
… | … | … |