资源描述:
《SQL综合应用学习.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SQL综合应用学习看完测试完下面这些试题,你的SQL水平一定会有新的提高。下面我们先看一下题设:二维表T(F1,F2,F3,F4,F5,F6,F7)表示如下关系:┌─────┬────┬─────┬─────┬─────┬─────┬─────┐│ 学生ID │学生姓名│ 课程ID │课程名称│ 成绩 │ 教师ID │教师姓名│├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S3 │ 王五│ K4 │ 政治 │ 53 │ T4 │ 赵老师 │├─────┼────┼─────┼────
2、─┼─────┼─────┼─────┤│ S1 │ 张三│ K1 │ 数学 │ 61 │ T1 │ 张老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S2 │ 李四│ K3 │ 英语 │ 88 │ T3 │ 李老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S1 │ 张三│ K4 │ 政治 │ 77 │ T4 │ 赵老师 │├─────┼────┼─────
3、┼─────┼─────┼─────┼─────┤│ S2 │ 李四│ K4 │ 政治 │ 67 │ T5 │ 周老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S3 │ 王五│ K2 │ 语文 │ 90 │ T2 │ 王老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S3 │ 王五│ K1 │ 数学 │ 55 │ T1 │ 张老师 │├─────┼────┼
4、─────┼─────┼─────┼─────┼─────┤│ S1 │ 张三│ K2 │ 语文 │ 81 │ T2 │ 王老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S4 │ 赵六│ K2 │ 语文 │ 59 │ T1 │ 王老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ S1 │ 张三│ K3 │ 英语 │ 37 │ T3 │ 李老师 │├─────┼
5、────┼─────┼─────┼─────┼─────┼─────┤│ S2 │ 李四│ K1 │ 数学 │ 81 │ T1 │ 张老师 │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ .... │ │ │ │ │ │ │├─────┼────┼─────┼─────┼─────┼─────┼─────┤│ .... │ │ │ │
6、 │ │ │└─────┴────┴─────┴─────┴─────┴─────┴─────┘为便于大家更好的理解,我们将T表起名为"成绩表"1.如果T表还有一字段F数据类型为自动增量整型(唯一,不会重复), 而且T表中含有除F字段外,请删除其它字段完全相同的重复多余的脏记录数据: 本问题就是一个清理"逻辑重复"记录的问题,当然,这种情况完全可以利用主键约束来 杜绝!然而,现实情况经常是原始数据在"洗涤"后,方可安全使用,而且逻辑主键过早的 约束,将会给采集原始数据带来不便,例如:从刷卡机上读取考勤记录。到了应用数据 的时候,脏
7、数据就该被扫地出门了!之所以题中要保留一个自动标识列,是因为它的确 是下面答案所必须的前提: DELETEL FROM"成绩表"L JOIN"成绩表"R ONL."学生ID"=R."学生ID"ANDL."课程ID"=R."课程ID"ANDL.F>R.F 这是思路最精巧且最直接有效的方法之一。用不等自联接,正好可以将同一组重复数 据中F字段值最小的那一条留下,并选出其它的删掉,如果只有一条,自然也不会被选 中了。这里还要强调一下,大家一定要分清楚被操作的基本表也就是DELETE关键字 后的表和过滤条件所使