3.26 序列的聚合运算:并集和差集
对序列构成的序列聚合计算并列或差列。
根据选课表和课程表,查询课程表中哪些课无人选上。
Course:
ID | NAME | TEACHERID |
---|---|---|
1 | Environmental protection and … | 5 |
2 | Mental health of College Students | 1 |
3 | Computer language Matlab | 8 |
4 | Electromechanical basic practice | 7 |
5 | Introduction to modern life science | 3 |
6 | Modern wireless communication system | 14 |
… | … | … |
SelectCourse:
ID | STUDENTID | COURSE |
---|---|---|
1 | 59 | 2,7 |
2 | 43 | 1,8 |
3 | 52 | 2,7,10 |
4 | 44 | 1,10 |
5 | 37 | 5,6 |
6 | 57 | 3 |
… | … | … |
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query(“select * from Course”) |
3 | =A1.query@x(“select * from SelectCourse”) |
4 | =A3.union(COURSE.split@cp()) |
5 | =A2.(ID) |
6 | =A2(A5.pos([A5,A4].diff())) |
A1 连接数据库
A2 读取课程表
A3 读取学生选课表
A4 将选课表中的课程按逗号拆分后,使用 union() 函数将课程序列求交列
A5 所有课程的序号
A6 使用 diff() 函数求课程表和选课表的课程 ID 的差列,即没有学生选择的课程,在 A5 中定位后,从 A2 中选出。
运行结果:
ID | NAME | TEACHERID |
---|---|---|
1 | Fundamentals of economic management | 21 |