Oracle试题集:SQL、逻辑判断与去重实战

需积分: 3 1 下载量 172 浏览量 更新于2024-09-13 收藏 52KB DOC 举报
Oracle试题涵盖了SQL语言的基础知识、数据处理、条件判断以及数据库操作等核心知识点。首先,我们来看第一道SQL题目,它涉及到了`GROUP BY`子句的使用。在给定的表格中,需要按日期分组,并统计每日期的胜场和负场次数。SQL语句`SELECT rq, SUM(CASE WHEN shengfu = '胜' THEN 1 ELSE 0 END) AS 胜, SUM(CASE WHEN shengfu = '负' THEN 1 ELSE 0 END) AS 负 FROM #tmp GROUP BY rq`实现了这一需求,通过`CASE`表达式来区分胜负并计算总和。 第二题考察的是多列条件下的选择逻辑。通过嵌套`CASE`语句,根据A、B、C列的大小关系选择相应的列值,这展示了对SQL中的条件表达式和逻辑运算的熟练运用。 第三题是日期筛选,要求获取tb_send表中SendTime字段为当天的所有记录,这需要用到`WHERE`子句配合`= CURDATE()`或`= SYSDATE`来匹配当前日期,显示学生当日发送的信息。 第四题是一个更复杂的聚合查询,使用`GROUP BY`和`MAX`函数,针对每个学生的各科最高成绩进行汇总,这里展示了如何根据特定条件进行分组并计算单列的最大值。 最后两题涉及到数据库表的维护,如删除重复数据和创建表结构。对于去重,可以使用`DISTINCT`关键字或自连接来识别并删除重复的记录,确保数据的唯一性。在创建表时,题目给出了学生、教师和课程表的结构定义,包括主键和其他字段的设置,这是数据库设计中的基础操作。 通过这些题目,学习者可以深入了解Oracle SQL的查询语法、数据处理技巧以及数据库表的设计与维护,这些都是Oracle数据库管理员和开发人员必备的技能。掌握这些知识点,对于提高Oracle技术能力有着显著的帮助。