复习课件 2010.9.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方法二:利用关键字JOIN进行连接 INNER JOIN:内连接。只提取两个表中同时满足联接条件的数据,此为默认值。 LEFT [OUTER] JOIN:左连接。只提取联接条件左侧表的所有数据和满足联接条件的右侧表的数据 。 RIGHT [OUTER] JOIN:右连接。只提取联接条件中右侧表的所有数据和满足联接条件的左侧表的数据。 FULL JION:全连接。提取两表所有数据。 当将JOIN关键词放于FROM子句中时,应有关键词ON与之相对应,以表明连接的条件。 例:P107[例7-31]方法二 SELECT 教师.教师号,姓名,课程号 FROM 教师 INNER JOIN 授课 ON 教师.教师号=授课.教师号 AND 姓名=“陈静” 二、自身连接查询 当一个表与其自己进行连接操作时,称为表的自身连接,表的自身连接主要用于同一个表中数据的比较。 例P108[例7-33]查询所有比“陈静”工资高的教师姓名、职称、工资和陈静的工资。 sele x.姓名,x.工资,y.工资 as 陈静工资 from 教师 as x,教师 as y wher x.工资y.工资 and y.姓名=“陈 静 三、外连接查询 在外部连接中,参与连接的表有主从之分,以主表中的每行数据去匹配从表中的数据列,符合连接条件的数据将直接显示,对于那些不符合条件的列,将填上NULL值显示。 外部连接分为左外部连接和右外部连接,以主表所在的方向区分外部连接,主表在左边称为左连接,主表在右边称为右连接。 例P109[例7-36]以外连接的方式查询教师姓名、职称及所授课程名。 SELECT 姓名,职称,课程名 FROM 教师 LEFT JOIN 授课 ON 教师.教师号=授课.教师号 LEFT JOIN 课程 ON 授课.课程号=课程.课程号 7.2.8 嵌套查询 在WHERE子句中包含一个形如SELECT-FROM-WHERE的查询块,此查询块称为嵌套查询或子查询,包含子查询的语句称为父查询或外部查询。子查询的嵌套层次最多可达255层。 一、返回一个值的子查询 当子查询的返回值只有一个时,可以使用比较运算符将父查询和子查询连接起来。 例P109[例7-37]查询与“陈静”教师职称相同的教师姓名和职称。 SELECT 姓名,职称 FROM 教师 WHERE 职称= (SELECT 职称 FROM 教师 WHERE 姓名=“陈 静”) 二、返回一组值的子查询 如果子查询的返回值不止一个,而是一个集合时,则不能直接使用比较运算符,可以在比较运算符和子查询之间插入ANY或ALL。 1、使用ANY 例P110[例7-38]查询讲授课程号为“c140”的教师姓名。 SELECT 姓名 FROM 教师 WHERE 教师号=ANY(SELECT 教师号 FROM 授课 WHERE 课程号=“c140”) 2、使用IN 可以使用IN代替“=ANY” IN 三、使用ALL 例P111[例7-41]查询高于男生入校总分最高分的女生姓名和入校总分 SELECT 姓名,入校总分 FROM 学生 WHERE 入校总分ALL (SELECT 入校总分 FROM 学生 WHERE 性别=“男”) AND 性别=“女” 四、使用EXISTS EXISTS用于判断子查询结果是否存在。带有EXISTS的子查询不返回任何实际数据,它只得到逻辑值“真”或“假”。当子查询的查询结果集合为非空时,外层的WHERE子句返回真值,否则返回假值。NOT EXISTS则相反。含有IN的查询通常可用EXISTS表示,但反过来不一定。 P111[例7-42] 查询讲授课程号为’c140’的教师姓名 SELECT 姓名 FROM 教师 WHERE EXISTS (SELECT* FROM 授课 WHERE 教师.教师号=授课.教师号 AND 课程号=‘c140’) 7.2.9查询结果输出 使用INTO子句,可以将查询结果输出到一个新建的数据表或一个临时表,临时表只存储在内存中,关机后自动消失。其中: INTO TABLE 表名 表示输出到数据表 INTO CURSOR 表示输出到临时表 例P111[例7-46]将每个同学选修的课程名及成绩输出到数据表(表名为学生成绩) SELECT 姓名,课程名,成绩 FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号 INTO TABLE 学生成绩 USE 学生成绩 BROWSE 说明:还有一些输出可选项,其含义如下: TO FILE文件名

文档评论(0)

蝶恋花 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档