--1.left join  左表为主表,左表返回全部数据,右表只返回与左表相匹配的数据
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fpdm,t2.fphm,t2.zflx  from yw_zjfpjl t1
left join xxdzmx t2  on t2.fpdm||t2.fphm=t1.fpdm||t1.fphm

select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fpdm,t2.fphm,t2.zflx  from yw_zjfpjl t1 , xxdzmx t2  where t2.fphm=t1.fphm(+)

--2.right join 右表为主表,右表返回全部数据,左表只返回与右表相匹配的数据
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fpdm,t2.fphm,t2.zflx  from yw_zjfpjl t1
right join xxdzmx t2  on t2.fpdm||t2.fphm=t1.fpdm||t1.fphm

--3.inner join  只返回两表相匹配的数据
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid, t2.fphm,t2.fpdm,t2.zflx  from yw_zjfpjl t1
inner join xxdzmx t2  on t2.fphm||t2.fpDm = t1.fphm||t1.fpdm
where t2.fphm is not null and t2.zflx='0' and t1.zflx='0' and TO_CHAR(t1.zjsj,'YYYY-MM')='2016-10'  and substr(t2.dzyf, 0, 4)||'-'||substr(t2.dzyf, 5, 2)='2016-10';

--4.full join
--4.1全部结果集  106
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fpdm,t2.fphm,t2.zflx  from yw_zjfpjl t1
full join xxdzmx t2  on t2.fpdm=t1.fpdm and t2.fphm=t1.fphm

--4.2右边有左边没有   10-1=9
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fphm,t2.fpdm,t2.zflx,t2.dzyf  from yw_zjfpjl t1
full join xxdzmx t2  on t2.fphm||t2.fpDm = t1.fphm||t1.fpdm
where t2.fphm is not  null and t2.zflx =0 and substr(t2.dzyf,1 ,4)||'-'||substr(t2.dzyf,5,2)='2016-10'

--4.3左边有右边没有   97-1=96
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fphm,t2.fpdm,t2.zflx  from yw_zjfpjl t1
full join xxdzmx t2  on t2.fphm||t2.fpDm = t1.fphm||t1.fpdm
where  (t1.zflx='0' and TO_CHAR(t1.zjsj,'YYYY-MM')='2016-10'  );

--4.4左边有右边没有  右边有左边没有  (97-1)+(10-1)=105
select   t1.fpdm,t1.fphm ,t1.zjr,t1.zjsj,t1.zjjx,t1.zjje,t1.zflx,t1.zfid,t2.fphm,t2.fpdm,t2.zflx,t2.dzyf  from yw_zjfpjl t1
full join xxdzmx t2  on t2.fphm||t2.fpDm = t1.fphm||t1.fpdm
where (t2.fphm is not  null and t2.zflx ='0' and substr(t2.dzyf,1 ,4)||'-'||substr(t2.dzyf,5,2)='2016-10') or (t1.zflx='0' and TO_CHAR(t1.zjsj,'YYYY-MM')='2016-10'  );

谈谈oracle里的join、left join、right join、full join-版本2的更多相关文章

  1. 谈谈oracle里的join、left join、right join

    create table l as select 'left_1' as str,'1' as v from dual union allselect 'left_2' ,'2' as v from ...

  2. 06 hash join (Oracle里的哈希连接原理)

    hash join (Oracle里的哈希连接原理) 2015年09月25日 17:00:28 阅读数:2188 哈希连接(HASH JOIN)是一种两个表在做表连接时主要依靠哈希运算来得到连接结果集 ...

  3. Oracle性能优化之 Oracle里的优化器

    优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL的最佳执行计划. ...

  4. 基于Oracle的SQL优化(崔华著)-整理笔记-第2章“Oracle里的执行计划”

    详细介绍了Oracle数据里与执行计划有关的各个方面的内容,包括执行计划的含义,加何查看执行计划,如何得到目标SQL真实的执行计划,如何查看执行计划的执行顺序,Oracle数据库里各种常见的执行计划的 ...

  5. oracle里的查询转换

    oracle里的查询转换的作用 Oracle里的查询转换,有称为查询改写,指oracle在执行目标sql时可能会做等价改写,目的是为了更高效的执行目标sql 在10g及其以后的版本中,oracle会对 ...

  6. Oracle里的执行计划

    1 执行计划的查看 1 explan plan 2 dbms_xplan包 3 sqlplus中 set autot 4 10046 5 awr报告 6一些现成的脚本 7 10053 常见的就前4种 ...

  7. 谈谈Oracle dba_free_space

    谈谈Oracle dba_free_space 博客分类: ORACLE管理 OracleSQLC#C++C  顾名思义,dba_free_space指的是Oracle还有多少表空间剩余空间,其视图结 ...

  8. ORACLE里锁有以下几种模式,v$locked_object,locked_mode【转】

    ORACLE里锁有以下几种模式:0:none1:null 空2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4: ...

  9. oracle里的优化器

    1.1 oracle里的优化器 RBO(Rule-Based-Optinizer):基于规则的优化器 CBO(Cost-Based-Optinizer): 基于成本的优化器 SQL语句执行过程 待执行 ...

随机推荐

  1. Popular Cows---poj2186(缩点,强联通)

    题目链接:http://poj.org/problem?id=2186 求有多少个点满足其他n-1个点都能到达这个点,是单向图: 所以我们可以把图进行缩点,之后求出度为0的那个点内包含的点的个数就是求 ...

  2. format的用法:python

    https://www.cnblogs.com/wongbingming/p/6848701.html 它通过{}和:来代替%.通过位置 In [1]: '{0},{1}'.format('kzc', ...

  3. 101-advanced-React易用性,概述

    React完全支持构建可访问的网站,通常使用标准的HTML技术. 1.可访问小部件 ARIA文档包含用于构建完全可访问的JavaScript小部件的技术. JSX完全支持所有aria- * HTML属 ...

  4. nodejs Async详解之二:工具类

    Async中提供了几个工具类,给我们提供一些小便利: memoize unmemoize log dir noConflict 1. memoize(fn, [hasher]) 有一些方法比较耗时,且 ...

  5. PAT 1117 Eddington Number [难]

    1117 Eddington Number (25 分) British astronomer Eddington liked to ride a bike. It is said that in o ...

  6. Linux系统——Inotify事件监控工具

    每秒传输文件200个 Rsync放在定时任务中也只是一分钟执行一回,要想达到实时的效果,为防止单点nfs架构故障,再启动一台nfs服务器作为主nfs服务器的备份服务器,此时需要inotify实时同步数 ...

  7. ACM-ICPC 2018 沈阳赛区网络预赛 Solution

    A. Gudako and Ritsuka 留坑. B. Call of Accepted 题意:定义了一种新的运算符$x d y$ 然后给出中缀表达式,求值 思路:先中缀转后缀,然后考虑如何最大如何 ...

  8. Transactions and beyond it..

    While data integrity is managed very effectively within a single database with row locking, deadlock ...

  9. Python笔记 #18# Pandas: Grouping

    10 Minutes to pandas 引 By “group by” we are referring to a process involving one or more of the foll ...

  10. 20145336张子扬 《网络对抗》逆向及bof基础

    20145336张子扬 <网络对抗>逆向及bof基础 学习知识点 缓冲区溢出 缓冲区溢出 一种非常普遍.非常危险的漏洞,在各种操作系统.应用软件中广泛存在.利用缓冲区溢出攻击,可以导致程序 ...