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