查询练习题研讨.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《网络数据库》讲稿 查询练习题 简单的单表查询 例1:检索出1983年6月1日之后出生的学生的姓名、性别和民族,并按降序排列。 SELECT 姓名,性别,民族 FROM 学生 WHERE 出生日期1983-6-1 ORDER BY 出生日期 DESC 多表查询 在FROM后跟随多个表。 例1:查找出已修学分达到20分的学生的姓名、出生日期、班级名称、已修学分。 SELECT 姓名,出生日期,班级名称,已修学分FROM 学生,班级WHERE 学生.班级编号=班级.班级编号AND 已修学分=20SELECT 学生.学号,姓名 FROM 学生,课程,成绩 WHERE 分数=60 AND 课程名称=中国历史 AND 学生.学号=成绩.学号 AND 成绩.课程编号=课程.课程编号 练习题04:查找出课程“中国历史”考试及格的全部学生的学号、姓名、班级名称和分数。 练习题05:查找出全部同学的所有考试的姓名、课程名称、分数,查找结果的格式如下: 嵌套查询 P121-126 例1:查找出取得过95分及其以上考试成绩的学生的学号和姓名。 SELECT 学号,姓名 FROM 学生 WHERE 学号IN (SELECT 学号 FROM 成绩 WHERE 分数=95) 解释:该命令中的IN相当于集合运算的包含运算符∈。括号外的查询称为外层查询;括号内的查询称为内层查询(也称为“子查询”)。内层查询的结果被当做是一个集合。 P104 例2:查找出“计算机应用”课程考试取得95分及其以上考试成绩的学生的学号和姓名。 SELECT 学号,姓名 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 成绩 WHERE 分数=95 AND 课程编号 IN (SELECT 课程编号 FROM 课程 WHERE 课程名称=计算机应用)) 例3:查找出所有学生的考试都及格的班级名称。 答案一: SELECT 班级名称 FROM 班级 WHERE 班级编号 NOT IN (SELECT 班级编号 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 成绩 WHERE 分数60)) 答案二: select 班级名称 from 班级 where not exists (select * from 学生 where exists (select * from 成绩 where 分数60 and 班级.班级编号=学生.班级编号 and 成绩.学号=学生.学号)) 答案三: select 班级名称 from 班级 where not exists (select * from 成绩,学生 where 班级.班级编号=学生.班级编号 and 学生.学号=成绩.学号 and 分数60) 练习题01:查找出班主任“刘成河”班的全部男生的信息。 练习题02:查找出考试全及格的课程名称。 练习题03:查找出所有学生的考试都及格的班级,并排除那些没有学生的班级。 练习题04:使用多表查询实现例1。 练习题05:使用多表查询实现例2。 练习题06:查找出“数学专业”班全体同学的姓名和“数学”课程考试分数。 三个特殊运算符 一、谓词EXISTS P122 EXISTS判断子查询中是否为空集。 例1:查找出那些还没有学生的班级名称。 SELECT 班级名称 FROM 班级 WHERE NOT EXISTS (SELECT * FROM 学生 WHERE 学生.班级编号=班级.班级编号)SELECT 课程编号,课程名称 FROM 课程 WHERE NOT EXISTS (SELECT 学号 FROM 学生 WHERE NOT EXISTS (SELECT * FROM 成绩 WHERE 课程.课程编号=成绩.课程编号AND 学生.学号=成绩.学号AND 分数=60)) 练习题01:写出可实现例1要求的其他命令。 练习题02:写出可实现例2要求的其他命令。 二、范围运算符BETWEEN …AND… P103 该范围是一个闭区间,意思是在 …和… 之间,包括两个端点的值。 例3:查找出1983年6月1日至1984年6月1日之间出生的学生的信息。 SELECT * FROM 学生 WHERE 出生日期 BETWEEN 1983-6-1 AND 1984-6-1 练习题03:查找出已修学分在15和20之间的学生的信息。 练习题04:查找出1983年6月1日至1984年6月1日之间出生的少数民族学生的信息。 练习题05:查找出已修学分在15和20之间、且“自然辨证法”课程的考试分数达到80分的学生的姓名、性别、所在班级。 三、字符串匹配运算符LIKE P105

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档