- 1、本文档共109页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL2012从头学(精品课3)课案
3)全外连接。全外连接又称完全外连接,该连接查询方式返回连接表中所有行的数据,完成左外连接和右外连接的操作,包括了左表和右表中所有不满足条件的行。 使用全外连接的一般语法格式如下: 其中,OUTER JOIN表示外连接,FULL是全外连接的关键字。 SELECT select_list FROM table1 FULL OUTER JOIN table2 [ON join_conditions] [WHERE search_conditions] (4)交叉连接 如果交叉连接不带WHERE子句,则返回的结果是被连接的两个表的笛卡尔乘积;如果交叉连接带WHERE子句,则返回结果为两个表的笛卡尔乘积减去WHERE子句所限定而省略的行数。 使用交叉连接的一般语法格式如下: 其中,CROSS为交叉连接的关键字。 SELECT select_list FROM table1 CROSS JOIN table2 [WHERE search_conditions] (5)自连接 前面介绍了多种方式实现两个或多个表之间的连接查询,对同一个表同样可以进行连接查询,这种连接查询方式就称为自连接。对一个表使用自连接方式时,需要为该表定义一个别名,其他内容与两个表的连接操作相似。 【例3-50】检索课程名相同但任课教师不同的课程信息(课程编号、课程名称、任课教师)。 USE jw SELECT t1.CouNo,t1.CouName,t1.Teacher FROM Course t1,Course t2 WHERE t1.CouName=t2.CouName AND t1.Teacher t2.Teacher (6)联合查询 使用联合查询可以将两个或更多的结果集组合到一个结果集中,而新结果集则包含了所有查询结果集中的数据。 使用联合查询的一般语法格式如下: 联合查询(大括号中)通过UNION子句实现,其中ALL关键字为可选的。如果在UNION子句中使用该关键字,则返回全部满足匹配的结果;如果不使用该关键字,则返回结果中删除满足匹配的重复行。在进行联合查询时,查询结果的列标题为第一个查询语句的列标题,因此必须在第一个查询语句中定义列标题。 SELECT select_list FROM table_source [WHERE search_conditions] {UNION [ALL] SELECT select_list FROM table_source [WHERE search_conditions] } [ORDER BY order_expression] 5.子查询 子查询是一个嵌套在SELECT,INSERT,UPDATE,DELETE语句或其他子查询中的查询,即子查询也是一条SELECT语句。 (1)返回多行的子查询 一般情况下,子查询都位于WHERE子句中,并与IN关键字、EXISTS关键字和比较运算符相结合。 1)使用IN关键字。使用IN关键字的子查询的语法格式如下: 其中,subquery表示子查询。括号外围的查询将子查询结果作为限定条件,继而进行查询。 SELECT select_list FROM table_source WHERE expression IN|NOT IN(subquery) 2)使用EXISTS关键字。EXISTS关键字的作用是在WHERE子句中测试子查询返回的行是否存在,如果存在则返回真值;如果不存在则返回假值。使用EXISTS关键字的子查询实际上不产生任何数据,其语法格式如下: SELECT select_list FROM table_source WHERE EXISTS|NOT EXISTS(subquery) 3)使用比较运算符。子查询可以由一个比较运算符和一些关键字引入,查询结果返回一个值列表。使用比较运算符的子查询的基本语法格式如下: 其中,operator表示比较运算符;ANY,ALL和SOME是SQL支持的在子查询中进行比较的关键字。其中ANY和SOME表示外围查询限定条件与子查询返回值进行比较,如果外围查询中有任意多个数据满足比较条件则全部返回;使用ALL关键字表示外围查询限定条件与子查询返回值进行比较,外围子查询返回结果必须全部满足比较条件。 SELECT select_list FROM table_source WHERE expression operator [ANY|ALL|SOME] (subquery) (2)返回单值的子查询 返回单值的子查询就是子查询的查询结果只返回一个值,然后外围查询将一列值与该返回值进行比较。在WHERE子句中可以使用比较运算符来连接子查询,其语法
文档评论(0)