7.4 关联查询:左连接 - 单字段关联

 

两个相互关联的表,通过左连接跨表计算。
根据相互关联的学生表和评价表,查询每个学生的总评分。每个学生的基础评分是 70 分,再根据评价表中的加分减分项计算总评分。

imagepng

使用 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