在线考试系统,因为把表设计成按照课程和题型来划分,因为我要统计出来这个课程下的所有的试题难度,按照规定是从 1~6 ,每个表中可能存在不同的难度,因此需要多表统计,刚开始觉得 sql 语句就可以解决这个问题。然后就开始想,试图找到一种方法来完成这个目的,但是以我掌握的 sql 语句来说,是找不到解决办法的(汗 ~~ , sql 学的不好呀,赶紧恶补)
用我已有的知识解决不了,那么只用再次搜索了,找了篇 sql 经典语句大全,看了一下,心想应该有高级的语法可以完成此功能。果不其然,找到了 UNION:
UNION 运算符
UNION
运算符通过组合其他两个结果表(例如
TABLE1
和
TABLE2
)并消去表中任何重复行而派生出一个结果表。当
ALL
随
UNION
一起使用时(即
UNION ALL
),不消除重复行。两种情况下,派生表的每一行不是来自
TABLE1
就是来自
TABLE2
。
记录在此,加紧学习吧。
本文介绍了一种使用SQL的Union操作符来统计在线考试系统中各课程下所有试题难度的方法。由于每门课程和题型都有自己的表格,并且难度级别从1到6不等,作者最初尝试使用SQL语句解决这一问题时遇到了困难。最终,通过引入Union操作符,成功实现了跨多个表的难度统计。





