第3章数据库关系数据库标准语言SQL(连接查询))试卷.pptVIP

  • 38
  • 0
  • 约1.38万字
  • 约 75页
  • 2017-06-18 发布于湖北
  • 举报

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

集合查询(续) [例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)

1亿VIP精品文档

相关文档