03-2 关系数据库标准语言SQL(续1).pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03-2 关系数据库标准语言SQL(续1)

* 第3章 关系数据库标准语言SQL Structured Query language 数据定义 数据操纵 数据控制 数据约束 * SELECT SNAME,AGE FROM S WHERE AGE ALL (SELECT AGE FROM S WHERE DEPT=计算机); ALL 变为 ANY含义如何? 比计算机系所有学生年龄都小的学生姓名和年龄 ALL 与 ANY 的使用 * ANY,ALL谓词与集函数的等价含义 运算符 ANY ALL MIN MAX MAX MIN = =MIN =MAX = =MAX =MIN = IN ---- != ---- NOT IN * COUNT([DISTINCT?ALL] *) 统计元组个数 COUNT([DISTINCT? ALL] 列名) 一列中值的个数 SUM([DISTINCT? ALL]列名)按列求和 AVG([DISTINCT? ALL]列名)按列求平均值 MAX([DISTINCT? ALL]列名)求一列中最大值 MIN([DISTINCT? ALL]列名)求一列中最小值 * SELECT Count (*) FROM S; SELECT AVG (AGE) FROM S; SELECT MAX (AGE) FROM S; 思考题:找出最大年龄学生的姓名和 年龄? * SELECT C.CNAME, Count(S_C.SNO) FROM C, S_C WHERE C.CNO = S_C.CNO GROUP BY C.CNAME; 注:此处group by 不可省略!!! SELECT 子句中的列名必须为分组列或列函数。列函数对于 GROUP BY 子句定义的每个组各返回一个结果。 求每门课程的选修人数,显示其课程名及人数 * 求选修3门以上课程的学生学号及选修门次 SELECT SNO, Count(CNO) FROM S_C GROUP BY SNO HAVING Count(CNO)2; WHERE与HAVING的区别在于作用对象不同。 WHERE作用于表,选择满足条件的元组。 HAVING作用于组,从中选择满足条件的组。 WHERE 与HAVING有何区别? * 找出课程平均成绩最高的课程号 Select cno from s_c Group by cno Having avg(grade)=all(select avg(grade) from s_c group by cno) 注意:在SQL中聚集函数是不能嵌套的,即max(avg(…)) * 查询成绩前五名的学生学号,课程号及成绩 SELECT TOP 5 SNO, CNO, GRADE FROM S_C ORDER BY GRADE DESC; 思考:查询成绩在6-10名之间的学生学号,课程号及成绩? * 一、插入数据 1 插入单个元组 INSERT INTO 表名 [(属性列1[,属性列2…)] VALUES (常量1[,,常量2]…); 2 插入子查询结果 INSERT INTO 表名 [(属性列1[,属性列2…)] 子查询; * INSERT INTO S VALUES(‘02901’,’JOIN’,’F’,20,’CS’); INSERT INTO S(SNO,SNAME) VALUES(‘02902’,’MARY’) 对每个系求平均年龄,并把结果存入数据库 CREATE TABLE DEPTAGE (DEPT CHAR(20), AVGAGE SMALLINT) INSERT INTO DEPTAGE (DEPT,AVGAGE) SELECT DEPT,AVG(AGE) FROM S GROUP BY DEPT * 二、删除数据 删除语句的一般格式: DELETE FROM 表名 [ WHERE 条件 ]; 删除某一个元组的值 删除多个元组的值 带子查询的删除语句 * DELETE FROM S WHERE SNO=‘S01’ DELETE FROM SC WHERE ‘计算机’= (SELEC

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档