[农学]1-3 关系数据库标准语言——SQL.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[农学]1-3 关系数据库标准语言——SQL

【例3-22】求其他系中比计算机系某一学生年龄小的学生。 SELECT * FROM 学生 WHERE 年龄 ANY (SELECT 年龄 FROM 学生 WHERE 所在系=计算机系 ) AND 所在系计算机系; 【例3-23】求其他系中比计算机系学生年龄都小的学生。 SELECT * FROM 学生 WHERE 年龄 ALL (SELECT 年龄 FROM 学生 WHERE 所在系=计算机系) AND 所在系 计算机系; (4) 使用EXISTS操作符的嵌套查询 EXISTS代表存在量词?。EXISTS操作符后子查询的结果集中如果不为空,则产生逻辑真值“true”,否则产生假值“false”。 【例3-24】求选修了C2课程的学生姓名。 SELECT 姓名 FROM 学生 WHERE EXISTS (SELECT * FROM 选课 WHERE 学生.学号=学号 AND 课程号=C2); 该查询也可以用下面的连接查询实现。 SELECT 姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=C2; 【例3-25】求没有选修C2课程的学生姓名。 SELECT 姓名 FROM 学生 WHERE NOT EXISTS (SELECT * FROM 选课 WHERE 学生.学号=学号 AND 课程号=C2); 而本例不能使用下面的连接查询表示。 SELECT 姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND课程号C2; 【例3-26】查询选修了全部课程的学生的姓名。 SELECT 姓名 FROM 学生 WHERE NOT EXISTS (SELECT * FROM 课程 WHERE NOT EXISTS (SELECT * FROM 选课 WHERE 学生.学号=学号AND课程.课程号=课程号)); 4. 组合查询 【例3-28】求选修了C1课程或选修了C2课程的学生学号。 SELECT 学号 FROM 选课 WHERE 课程号=C1 UNION SELECT 学号 FROM 选课 WHERE 课程号=C2; 【例3-30】求选修了C1课程但没有选修C2课程的学生学号。 SELECT 学号 FROM 选课 WHERE 课程号=C1 MINUS SELECT 学号 FROM 选课 WHERE 课程号=C2; 5. 使用分组和SQL函数查询 【例3-31】求学生的总人数。 SELECT COUNT (*) FROM 学生; 【例3-32】求选修了课程的学生人数。 SELECT COUNT(DISTINCT 学号) FROM 选课; 【例3-33】求课程和选修该课程的人数。 SELECT 课程号,COUNT(学号) FROM 选课 GROUP BY 课程号; WHERE COUNT(*)3 GROUP BY 学号; ● 3.4 SQL的数据更新功能 ● 3.4.1 SQL的数据插入功能 1. 使用常量插入单个元组 格式为: INSERT INTO〈表名〉[(〈属性列1〉[,〈属性列2〉…)] VALUES (〈常量1〉[,〈常量2〉]…); 【例3-35】将一个新学生记录(学号:98010,姓名:张三,年龄:20,所在系:计算机系 )插入到学生表中。 INSERT INTO 学生 VALUES (98010,张三,20,计算机系); 2. 在表中插入子查询的结果集 INSERT语句的格式为: INSERT INTO〈表名〉[(〈属性列1〉[,〈属性列2〉]…)] 〈子查询〉; 【例3-37】求每个系学生的平均年龄,并把结果存入数据库中。 CRE

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档