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 |
| … | … | … |
