第3章SQL语言2014.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章SQL语言2014

* 【例3】创建一个有关学生成绩情况的视图S_SC_C CREATE VIEW S_SC_C(Sno,Snname,Cname,Grade) AS SELECT Student.Sno,Sname,Cname,Grade FROM Student,Course,Sc WHERE Student.Sno=Sc.Sno AND Sc.Cno=Course.Cno 【例4】创建一个有关学生平均成绩的视图AVG_G CREATE VIEW AVG_G AS SELECT Sno,AVG(Grade) AVGGrade FROM Sc GROUP BY Sno 定义视图 * 二、删除视图 【格式】 DROP VIEW 视图名; 例子 DROP VIEW S_CS; 【说明】 视图定义从数据字典中撤消 基本表的数据不受影响 使得在上定义的视图失效 * 3.6.2 查询视图 【例1】查询计算机系年龄小于20岁学生的信息。 SELECT * FROM CS_S WHERE sAge20 等价于: SELECT Sno,Sn,Age,Sex FROM Student WHERE Dept=’CS’ AND Age20 * 3.6.3 更新视图 INSERT INTO IS_STUDENT VALUES (‘200210129’,’东东’,21); 等价于: INSERT INTO Student(Sno,Sname,Sage,Sdept) VALUES(‘200210129’,’东东’,21,‘IS’); UPDATE DELETE * 小 结 SQL是关系数据库的标准语言,已广泛应用在商用系统中。 SQL的数据定义部分包括对SQL模式、基本表、视图、索引的创建和撤销。 SQL的数据操纵分成数据查询和数据更新两部分。 SQL的数据查询是用SELECT语句实现,兼有关系代数和元组演算的特点。 SQL的数据更新包括插入、删除和修改等三种操作,在视图中只有行列子集视图是可以更新的。 * 本章作业 P127-128 3、5(2)~(10)、11 * 2.右外联接 【格式】 SELECT 列名表 FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.列=表2.列 【例2】学生×系,实现右外连接。 select student.*, dept.sdeptname from student RIGHT OUTER JOIN dept ON student.sdept=dept.sdept 四、外连接 * 3.完全外联接 【格式】 SELECT 列名表 FROM 表1 FULL OUTER JOIN 表2 ON 表1.列=表2.列 【例3】学生×系,实现完全外连接。 select student.*, depart.sdep_tname from student FULL OUTER JOIN depart ON student.sdept=depart.sdept 四、外连接 * 【例4】查询每个学生所在的系的信息。 SELECT Student.*, depart.sdept_name FROM Student left join Depart on Student.SDept=Depart.sdept SELECT Student.*, depart.sdept_name FROM Student ,Depart WHERE Student.SDept=Depart.sdept(内连接) 四、外连接 * 内连接与外连接的区别: 内连接时,返回查询结果的记录仅是符合查询条件和连接条件的记录。 外连接时,返回到查询结果的记录不仅包含符合连接条件的记录,而且还包含左表(左外连接时),右表(右外连接时),或两个表(全外连接)中的所有记录。 四、外连接 * 【例1】查询选修了2号课程,且成绩在90分以上的学生信息。 SELECT Student.* FROM Student,Sc WHERE Student.Sno=Sc.Sno AND Cno=2 AND Grade=90; 【例2】查询学生的姓名、课程名称和成绩。 SELECT Sname,Cname,Grade FROM Student,Course,Sc WHERE Student.Sno=Sc.Sno AND Course.Cno=Sc.Cno; 五、复合条件连接查询 * (1)查询学生选修课程的课程信息和成绩信息。 (2)查询选修了“2”和

文档评论(0)

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

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

1亿VIP精品文档

相关文档