12.11 匹配的存在性检测

 

在两个表中,根据匹配的存在性检测查找记录。
根据成绩表和学生表,查询两科分数差超过 30 分的学生。

Student
ID
Class
Name
Score
StudentID
Subject
Score

只要比较每位同学的最高分和最低分是否超过 30 分即可。

脚本:

A
1 =connect(“db”)
2 =A1.query(“select * from Student”)
3 =A1.query@x(“select * from Score”)
4 =A3.group(StudentID)
5 =A4.select(~.max(Score)-~.min(Score)>30)
6 =A5.id(StudentID)
7 =A2.join@i(ID,A6)

A1 连接数据库
A2 查询学生表
A3 查询成绩表
A4 成绩表按学生 ID 分组
A5 选出最高分和最低分相差超过 30 分的学生
A6 按学生 ID 去重
A7 使用 A.join@i() 连接过滤

运行结果:

ID Name Class
4 Emily Smith Class 1
8 Megan Class 1