第3章数据库关系数据库标准语言SQL(连接查询))研讨.ppt

第3章数据库关系数据库标准语言SQL(连接查询))研讨.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
集合查询(续) [例52] 查询计算机科学系中年龄大于19岁的学生 SELECT * FROM Student WHERE Sdept= CS AND Sage19; 基于派生表的查询 子查询不仅可以出现在WHERE子句中,还可以出现在FROM子句中,这时子查询生成的临时派生表(Derived Table)成为主查询的查询对象 基于派生表的查询 [例]找出每个学生超过他自己选修课程平均成绩的课程号 SELECT Sno, Cno FROM SC, (SELECTSno, Avg(Grade) FROM SC GROUP BY Sno) AS Avg_sc(avg_sno,avg_grade) WHERE SC.Sno = Avg_sc.avg_sno and SC.Grade =Avg_sc.avg_grade 基于派生表的查询 如果子查询中没有聚集函数,派生表可以不指定属性列,子查询SELECT子句后面的列名为其缺省属性。 [例]查询所有选修了 1号课程的学生姓名 SELECT Sname FROM Student, (SELECT Sno FROM SC WHERE Cno= 1 ) AS SC1 WHERE Student.Sno=SC1.Sno; 通过FROM子句生成派生表时,AS可省略,但必须指定别名 SELECT语句的一般格式 SELECT [ALL|DISTINCT] 目标列表达式 [别名] [ ,目标列表达式 [别名]] … FROM 表名或视图名 [别名] [ ,表名或视图名 [别名]] … [WHERE 条件表达式] [GROUP BY 列名1 [HAVING 条件表达式]] [ORDER BY 列名2 [ASC|DESC] SELECT语句的一般格式 SELECT [ALL|DISTINCT] 目标列表达式 [别名] [ ,目标列表达式 [别名]] … FROM 表名或视图名 [别名] [ ,表名或视图名 [别名]] … |(SELECT语句)[AS]别名 [WHERE 条件表达式] [GROUP BY 列名1[HAVING条件表达式]] [ORDER BY 列名2 [ASC|DESC]]; 目标列表达式的可选格式 目标列表达式格式 (1) * (2) 表名.* (3) COUNT([DISTINCT|ALL]* ) (4) [表名.]属性列名表达式[,表名.]属性列名表达式]… 其中属性列名表达式可以是由属性列、作用于属性列的聚集函数和常量的任意算术运算(+, -, *, /)组成的运算公式 聚集函数的一般格式 COUNT SUM AVG ([DISTINCT|ALL] 列名) MAX MIN WHERE子句的条件表达式的可选格式 (1) 属性列名 θ 属性列名 常量 [ANY|ALL] (SELECT语句) (2) 属性列名 [NOT] BETWEEN 属性列名 属性列名 常量 AND 常量 (SELECT语句) (SELECT语句) WHERE子句的条件表达式的可选格式 (3) (值1[, 值2 ] …) 属性列名 [NOT] IN (SELECT语句) (4) 属性列名 [NOT] LIKE 匹配串 (5) 属性列名 IS [NOT] NULL (6) [NOT] EXISTS (SELECT语句) WHERE子句的条件表达式的可选格式 (7) AND AND 条件表达式 条件表达式 条件表达 … OR OR * 带有比较运算符的子

文档评论(0)

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

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

1亿VIP精品文档

相关文档