谈谈oracle里的join、left join、right join、full join-版本2
--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的更多相关文章
- 谈谈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 ...
- 06 hash join (Oracle里的哈希连接原理)
hash join (Oracle里的哈希连接原理) 2015年09月25日 17:00:28 阅读数:2188 哈希连接(HASH JOIN)是一种两个表在做表连接时主要依靠哈希运算来得到连接结果集 ...
- Oracle性能优化之 Oracle里的优化器
优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL的最佳执行计划. ...
- 基于Oracle的SQL优化(崔华著)-整理笔记-第2章“Oracle里的执行计划”
详细介绍了Oracle数据里与执行计划有关的各个方面的内容,包括执行计划的含义,加何查看执行计划,如何得到目标SQL真实的执行计划,如何查看执行计划的执行顺序,Oracle数据库里各种常见的执行计划的 ...
- oracle里的查询转换
oracle里的查询转换的作用 Oracle里的查询转换,有称为查询改写,指oracle在执行目标sql时可能会做等价改写,目的是为了更高效的执行目标sql 在10g及其以后的版本中,oracle会对 ...
- Oracle里的执行计划
1 执行计划的查看 1 explan plan 2 dbms_xplan包 3 sqlplus中 set autot 4 10046 5 awr报告 6一些现成的脚本 7 10053 常见的就前4种 ...
- 谈谈Oracle dba_free_space
谈谈Oracle dba_free_space 博客分类: ORACLE管理 OracleSQLC#C++C 顾名思义,dba_free_space指的是Oracle还有多少表空间剩余空间,其视图结 ...
- ORACLE里锁有以下几种模式,v$locked_object,locked_mode【转】
ORACLE里锁有以下几种模式:0:none1:null 空2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4: ...
- oracle里的优化器
1.1 oracle里的优化器 RBO(Rule-Based-Optinizer):基于规则的优化器 CBO(Cost-Based-Optinizer): 基于成本的优化器 SQL语句执行过程 待执行 ...
随机推荐
- Popular Cows---poj2186(缩点,强联通)
题目链接:http://poj.org/problem?id=2186 求有多少个点满足其他n-1个点都能到达这个点,是单向图: 所以我们可以把图进行缩点,之后求出度为0的那个点内包含的点的个数就是求 ...
- format的用法:python
https://www.cnblogs.com/wongbingming/p/6848701.html 它通过{}和:来代替%.通过位置 In [1]: '{0},{1}'.format('kzc', ...
- 101-advanced-React易用性,概述
React完全支持构建可访问的网站,通常使用标准的HTML技术. 1.可访问小部件 ARIA文档包含用于构建完全可访问的JavaScript小部件的技术. JSX完全支持所有aria- * HTML属 ...
- nodejs Async详解之二:工具类
Async中提供了几个工具类,给我们提供一些小便利: memoize unmemoize log dir noConflict 1. memoize(fn, [hasher]) 有一些方法比较耗时,且 ...
- PAT 1117 Eddington Number [难]
1117 Eddington Number (25 分) British astronomer Eddington liked to ride a bike. It is said that in o ...
- Linux系统——Inotify事件监控工具
每秒传输文件200个 Rsync放在定时任务中也只是一分钟执行一回,要想达到实时的效果,为防止单点nfs架构故障,再启动一台nfs服务器作为主nfs服务器的备份服务器,此时需要inotify实时同步数 ...
- ACM-ICPC 2018 沈阳赛区网络预赛 Solution
A. Gudako and Ritsuka 留坑. B. Call of Accepted 题意:定义了一种新的运算符$x d y$ 然后给出中缀表达式,求值 思路:先中缀转后缀,然后考虑如何最大如何 ...
- Transactions and beyond it..
While data integrity is managed very effectively within a single database with row locking, deadlock ...
- Python笔记 #18# Pandas: Grouping
10 Minutes to pandas 引 By “group by” we are referring to a process involving one or more of the foll ...
- 20145336张子扬 《网络对抗》逆向及bof基础
20145336张子扬 <网络对抗>逆向及bof基础 学习知识点 缓冲区溢出 缓冲区溢出 一种非常普遍.非常危险的漏洞,在各种操作系统.应用软件中广泛存在.利用缓冲区溢出攻击,可以导致程序 ...