数据库原理第三部分关系数据库标准语言SQL.ppt
《数据库原理第三部分关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《数据库原理第三部分关系数据库标准语言SQL.ppt(43页珍藏版)》请在三一办公上搜索。
1、数据库原理 第三章:关系数据库标准语言SQL,授课教师:王哲,复习上节课内容,连接查询语法结构(多表查询)使用表的别名表自身连接外连接嵌套查询集合查询,连接查询,一般格式:select all|distinct,from,where 一般表示为:.,连接查询等值和非等值连接使用表的别名自身连接以JOIN关键字指定的外连接,嵌套查询,T-SQL允许SELECT多层嵌套使用,即一个子查询中还可以嵌套子子查询,用来表示复杂的查询,从而增强SQL的查询能力。子查询通常与IN、比较运算符及EXISTS谓词结合使用。带有In谓词的子查询带有比较运算符的子查询带有EXISTS谓词的子查询,集合查询,集合操作
2、的种类并操作 UNION交操作 INTERSECT差操作 EXCEPT参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同。,问题:,SELECT student.sno,snameFROM Student,scWHERE cno=2 and Student.Sno=SC.Sno,1、查询选修课程号为2的学号、学生姓名;SELECT sno,sname FROM Student,sc WHERE cno=2,注意:加上表名前缀是为了避免重复字段混淆;应将两个表中同一学生的元组连起来;,本节课内容,认识视图视图的相关操作创建视图查询更新修改删除,一、视图,创建视图(使用界面及T-S
3、QL语言)查询视图更新视图修改视图删除视图,1、认识视图,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果;只存放视图的定义,不存放视图对应的数据;基表中的数据发生变化,从视图中查询出的数据也随之改变。,使用视图的注意事项,只能在当前数据库中创建视图;视图的命名必须遵循标识符命名规则,不可与表同名;如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。不能在临时表上创建视图也不能创建临时视图。定义视图时的查询语句通常不允许含有order by子句或是into等关健字。,2、使用T-SQL语句创建视图,用CR
4、EATE VIEW语句创建视图,其表示形式为:CREATE VIEW 视图名(列名1,列名2,n)AS WITH CHECK OPTION,查询语句:用来创建视图的SELECT语句。但对SELECT语句有以下的限制:定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。不能使用COMPUTE或COMPUTE BY子句。不能使用ORDER BY子句。不能使用INTO子句。不能在临时表或表变量上创建视图。WITH CHECK OPTION:指出在视图上所进行的修改都要符合查询语句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改的数据。,例2:创建计算机系学生基本信息
5、视图stu_cs;,例1:创建所有学生学号、姓名及年龄的信息视图stu_info;,CREATE VIEW stu_csAS SELECT sno,sname,sage,ssex from studentWhere sdept=CS,CREATE VIEW stu_infoAS SELECT sno,sname,sage From student,例3:创建信息系男学生基本信息视图stu_is,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生;,CREATE VIEW stu_isAS SELECT sno,sname,sage from studentWh
6、ere sdept=IS and ssex=男WITH CHECK OPTION,例4:创建年龄大于20的各学生的学号、姓名及年龄的视图stu_age,并保证对视图文本的修改都要符合年龄大于20这个条件。,CREATE VIEW stu_ageAS SELECT sno,sname,sage from student where sage20WITH CHECK OPTION,With check option,对Stu_IS及stu_age视图的更新操作:修改操作:自动加上Sdept=IS的条件删除操作:自动加上Sdept=IS的条件插入操作:自动检查Sdept属性值是否为IS 如果不是,则
7、拒绝该插入操作如果没有提供Sdept属性值,则自动定义Sdept为IS,2)创建基于多个基表的视图,例1:建立信息系选修了1号课程的学生视图stu_is_c1;CREATE VIEW stu_is_c1AS SELECT Student.Sno,Sname,GradeFROM Student,SCWHERE Sdept=IS AND SC.Cno=1 AND Student.Sno=SC.Sno,CREATE VIEW stu_is_c1(学号,姓名,成绩)AS SELECT Student.Sno,Sname,GradeFROM Student,SCWHERE Sdept=IS AND St
8、udent.Sno=SC.Sno AND SC.Cno=1,例2:创建学生选修课程详细情况视图stu_sc;,CREATE VIEW stu_scAS SELECT s.sno,sname,ssex,sage,sdept,o,cname,gradeFrom student s,sc,course cWhere s.sno=sc.sno and o=o,3)创建基于视图的视图,例1:建立信息系选修了1号课程且成绩在90分以上的学生的视图;CREATE VIEW stu_is_grade AS SELECT Sno,Sname,Grade FROM stu_is WHERE Grade=90;,4
9、)创建带表达式的视图,例1:定义一个反映学生出生年份的视图;CREATE VIEW stu_year(Sno,Sname,Sbirth)AS SELECT Sno,Sname,出生年份=2007-Sage FROM Student,5)创建分组视图,例1:将学生的学号及其平均成绩定义为一个视图;CREATE VIEW S_G(Sno,Gavg)AS SELECT Sno,AVG(Grade)FROM SC GROUP BY Sno,3、查询视图,视图定义后,就可以像查询基本表那样对视图进行查询。如果与视图相关联的表或视图被删除,则该视图将不能再使用。使用视图查询时,若其关联的基本表中添加了新字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 第三 部分 关系 标准 语言 SQL
链接地址:https://www.31ppt.com/p-6296394.html