cha教材资料pter5sql语言(2).pptVIP

  • 11
  • 0
  • 约8.02千字
  • 约 52页
  • 2019-08-04 发布于湖北
  • 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 格式:EXISTS(集合) NOT EXISTS(集合) 含义: 4、EXISTS和NOT EXISTS EXISTS是存在量词,当集合中至少存在一个元素(非空)时,其逻辑值为true,否则为false。 NOT EXISTS是空集判断,当集合中不存在任何元素(为空)时,其逻辑值为true,否则为false。 * 例3.40 查询所有学习了数据结构课(课程号为C401001)的学生的学号和姓名。 SELECT S.S#,SNAME FROM S WHERE EXISTS (SELECT * FROM SC WHERE SC.S# = S.S# AND C# =‘C401001’); 4、EXISTS和NOT EXISTS 例 * SELECT C#,AVG(GRADE) FROM SC,TEACH,T WHERE SC.C#=TEACH.C# AND TEACH.T#=T.T# AND TNAME Like ’张%’ GROUP BY C# ORDER BY 2 DESC; 例:求张老师所授课程的每门课程的学生平均成绩,并按平均成绩降序输出。 第4节 SQL的视图操作 第5章 关系数据库语言SQL 主要内容 视图的概念 视图的定义 在视图上进行查询操作 用户视图对数据库系统设计和性能带来的影响 * 一、视图的概念 视图是从一个或几个基本表(或视图)通过视图定义语句所描述的映射关系导出的表。 数据库中,只有视图的定义,没有视图的数据。这些数据还在基本表中。因此,视图是一种“虚表”。 * S# SNAME C# GRADE S# SNAME AGE SEX S256 … Wang 21 F S# C# GRADE S256 … C5 80 CG S SC S256 Wang C5 80 查询 语句 学生成绩视图CG(S#,SNAME,C#,GRADE) * CREATE VIEW 视图名 [(视图列名表)] AS SELECT 语句 [WITH READ ONLY | WITH CHECK OPTION]; 新定义的视图的各个列的名称 一一对应 视图被定义成一个只读视图,不能进行插入、删除和修改操作 表示用户必须保证每当向该视图插入或更新数据时,所插入或更新的数据能从该视图查询出来。 二、视图的定义 * 例3.45 定义平均成绩视图(S#,AVG_GRADE ) CREATE VIEW A_GRADE(S#,AVG_GRADE) AS SELECT S#, AVG(GRADE) FROM SC WHERE GRADE IS NOT NULL GROUP BY S#; 查询结果中有表达式或聚合函数,必须重新命名 二、视图的定义 例 * 三、在视图上进行查询操作 数据查询 视图的查询方法和基本表一样,但有了视图后,查询语句变得非常简单。 SELECT * FROM A_GRADE; * 四、用户视图对数据库系统设计和性能带来的影响 1、视图能够简化用户的操作 2、视图使用户能以多种角度看待同一数据 3、视图对重构数据库提供了一定程度的逻辑独立性 4、视图能够对机密数据提供安全保护 * 第5节 SQL中带有子查询的数据更新操作 第5章 关系数据库语言SQL 主要内容 带有子查询的数据插入操作 带有子查询条件的数据更新操作 * 复习 数据插入 1、数据插入   向表中插入一行(单元组)数据。 INSERT INTO 表名 [(列名表)]        VALUES(值表); * 一、带有子查询的数据插入操作   向表中插入一个子查询得到的数据。 INSERT INTO 表名          [(列名表)]        子查询;   子查询是一个合法的SELECT查询语句。 * 例1   设在教学管理数据库系统中,要建立某些临时表来辅助有关管理过程。若其中有一个临时表用于暂存选修了“信息安全技术”课程的学生的学号、姓名、专业名称和班级,表的格式为:   S_C(S#, SNAME, SSNAME, CLASS)

文档评论(0)

1亿VIP精品文档

相关文档