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