sql左连接和右连接.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql的左连接和右连接 外连接 使用外连接进行多表查询时,返回的查询结果集中仅包含查询条件和连接条件的行。内连接除了消除了与另一个表中的任何不匹配的行,而外连接扩展了内连接的结果集,除了返回所有匹配的行外,还会返回一部分或全部不匹配的行,这就取决于外连接的类型。 对于外连接,Oracle中可以使用(+)来表示,也可以使用left right和full outer join关键字。 外连接可以分为下面三类: 左外连接:(left outer join或left join) 右外连接:(right outer join或right join) 全外连接:(full outer join或full join) 使用外连接,列出与连接条件相匹配的行,并列出左表(左外连接),右表(右表连接)或两个表(全外连接)中,所有符合检索条件的数据行。 事例如下: 我们使用oracle自带的emp和salgrade表进行操作。 salgrade表表示的是工资的等级,每个等级的工资分别有最高值和最低值。emp表为员工的基本信息 SQL select * from salgrade; GRADE LOSAL HISAL ---------- ---------- ---------- 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999 SQL select empno,ename,sal,grade 2 from emp e inner join salgrade s 3 on e.sal between s.losal and s.hisal; EMPNO ENAME SAL GRADE ---------- ---------- ---------- ---------- 7369 SMITH 800 1 7876 ADAMS 1100 1 7900 JAMES 950 1 7521 WARD 1250 2 7654 MARTIN 1250 2 7934 MILLER 1300 2 7499 ALLEN 1600 3 7844 TURNER 1500 3 7566 JONES 2975 4 7698 BLAKE 2850 4 7782 CLARK 2450 4 7788 SCOTT 3000 4 7902 FORD 3000 4 7839 KING 5000 5 已选择 14 行。 SQL insert into emp values(7937,Candy,null,null,null,500,null,null);//插入的数据中的sal工资为500不在员工的工资范围之内 已创建 1 行。 SQL insert into salgrade values(6,10000,20000);--插入的等级以及工资也不再范围之内 已创建 1 行。 SQL select e.empno,e.ename,e.sal,d.grade 2 from emp e left outer join salgrade d --使用左联接 3 on e.sal between d.losal and d.hisal; EMPNO ENAME SAL GRADE ---------- ---------- ---------- ---------- 7839 KING 5000 5 7902 FORD 3000 4 7788 SCOTT 3000 4 7566 JONES 2975 4 7698 BLAKE 2850 4 7782 CLARK 2450 4 7499 ALLEN 1600 3 7844 TURNER 1500 3 7934 MILLER 1300 2 7521 WARD 1250 2 7654 MARTIN 1250 2 7876 ADAMS 1100 1 7900 JAMES 950 1 7369 SMITH 800 1 7937 Candy 500 已选择 15 行。 从上面的数据可以看出,除了查出了所有符合条件的数据之外,我们还查处了不在范围之内的数据? 7937 Candy 500 右外连接 右外连接是在结果中除了显示满足条件的行外,还显示join右侧表中所有满足检索条件的行。 select distinct e.deptno,d.deptno from emp e right outer join dept d on e.deptno=d.deptno; 如果使用佳豪实现右外连接,上述的语句等价于下面的语句: select distinct e.deptno,d.deptno from emp e,dept d where e.deptno(+)=d.deptno

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档