12.4 非外键的匹配性检测
在两个表中,根据非外键的匹配性检测查找记录。
根据成绩表和学生表,查询各班所有某科成绩超过 80 分的学生数量。
Score |
---|
StudentID |
Subject |
Score |
Student |
---|
ID |
Class |
Name |
子查询过滤后按关联字段去重,然后就变成类似于主键的情况了。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query(“select * from Student”) |
3 | =A1.query@x(“select * from Score”) |
4 | =A3.select(Score>80) |
5 | =A4.id(StudentID) |
6 | =A2.join@i(ID, A5) |
7 | =A6.groups(Class; count(1):StudentCount) |
A1 连接数据库
A2 查询学生表
A3 查询学生成绩表
A4 选出有成绩超过 80 分的记录
A5 使用 id 函数按学生 ID 去重
A6 使用 A.join@i() 函数连接过滤
A7 分组汇总每个班级的学生数量
运行结果:
Class | StudentCount |
---|---|
Class 1 | 9 |
Class 2 | 11 |
… | … |