- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.右外连接 右外连接是在结果中除了显示满足连接条件的行外,还显示JOIN右侧表中所有满足检索条件的行。 【例8.27】使用右外连接,检索emp表和dept表中所包含的部门编号。 SELECT DISTINCT e.deptno,d.deptno FROM scott.emp, e RIGHT OUTER JOIN scott.dept d ON e.deptno=d.deptno; 也可以使用(+)建立外连接 SELECT DISTINCT e.deptno,d.deptno FROM scott.emp e,scott.dept d WHERE emp.deptno(+)=dept.deptno; 使用using关键字 SELECT DISTINCT deptno FROM scott.emp, e RIGHT OUTER JOIN scott.dept d USING(deptno); 8.3.4 使用OUTER JOIN实现多个表的外连接 3.全外连接 全外连接是在结果中除了显示满足连接条件的行外,还显示JOIN两侧表中所有满足检索条件的行。 【例8.28】使用全外连接,检索emp表和dept表中包含的部门编号。 SELECT DISTINCT e.deptno,d.deptno FROM scott.emp, e FULL OUTER JOIN scott.dept d ON e.deptno=d.deptno; 8.3.4 使用OUTER JOIN实现多个表的外连接 * 8.3.5 使用CROSS JOIN实现交叉连接 使用CROSS JOIN关键字,可以实现两个表的交叉连接,所得到的结果将是这两个表中各行数据的所有组合,即这两个表所有数据行的笛卡儿积。 交叉连接与简单连接操作非常相似,不同的是,使用交叉连接时,在FROM子句中多个表名之间不是用逗号,而是使用CROSS JOIN关键字隔开。另外,在交叉连接中不需要使用关键字ON限定连接条件,但是可以添加WHERE子句设置连接条件。 【例8.29】使用交叉连接,查询emp表和dept表中,部门编号为10的员工信息和部门信息,如下: SELECT empno,ename,sal,d.deptno,dname FROM scott.emp e CROSS JOIN scott.dept d WHERE d.deptno= 10 AND dname=‘ACCOUNTING’ ; 集合操作就是将两个或多个SQL查询结果集合并到一起的复合查询语句 。 集合运算符包括: UNION(ALL):将多个查询结果集合并,指定ALL包括重复行,不指定,对重复行只保留一行,相当于进行OR运算 INTERSECT:返回多个查询结果的公共行,相当于进行AND运算。 MINUS :返回多个查询结果的差集。 8.3.6 使用UNION操作符获取两个结果集的并集 * 8.3.6 使用UNION操作符获取两个结果集的并集 使用UNION操作符的语法如下: select_statement UNION [ ALL ] select_statement [UNION [ ALL ] select_statement ] [ ... ] 其中,select_statement是查询的SELECT语句;ALL选项表示将所有行合并到结果集中,不指定该项,则只保留重复行中的一行。UNION操作符含义如图8-1所示。 * 8.3.6 使用UNION操作符获取两个结果集的并集 【例8.30】使用UNION ALL操作符,对scott用户的emp表进行操作,获得员工编号大于7800或者所在部门编号为10的员工信息。使用ORDER BY语句将结果集按照deptno列升序排列输出。具体如下: SELECT empno,ename,sal,deptno FROM emp WHERE empno7800 UNION ALL SELECT empno,ename,sal,deptno FROM emp WHERE deptno=10 ORDER BY deptno ASC; 【例8.31】使用UNION操作符,但是不指定ALL关键字,获得员工编号大于7800或者所在部门编号为10的员工信息 具体结果参见p191 * 8.3.7 使用INTERSECT操作符获取两个结果集的交集 使用INTERSECT操作符,获取结果集的公共行,也称为获取结果集的交集。INTERSECT操作符的使用语法同UNION,只是操作符不再是UNION [ALL],而是INTERSECT。 INT
您可能关注的文档
最近下载
- 2025届高考英语长难句分析课件.pptx
- 2023部编新人教版五年级(上册)道德与法治全册教案.doc VIP
- 水土保持单元工程施工质量检验表与验收表(样表:2混凝土工程)(SLT 336—2025)水土保持工程质量验收与评价规范.docx VIP
- 玻璃板液位计介绍.pptx VIP
- 国家计委“计价格[2002]1980号文”.doc VIP
- 特种工程塑料——PEEK .ppt VIP
- 三国志曹操传宝物全拿攻略.doc VIP
- 卫星气象学课件:第3章 卫星遥感辐射基础.ppt VIP
- 2025年部编新人教版五年级上册道德与法治全册教案资料.doc VIP
- 1正确认识广告教学设计.docx VIP
文档评论(0)