【学亮开讲】Oracle内外连接查询20181119
--内连接查询
--需求:查询显示业主编号、业主名称、业主类型名称
select
os.id 业主编号,os.name 业主名称,ot.name 业主类型名称
from t_owners os,t_ownertype ot
where os.ownertypeid=ot.id
--需求:查询显示业主编号、业主名称、地址和业主类型
select ow.id 业主编号,ow.name 业主名称,ad.name 地址,ot.name 业主类型
from t_owners ow,t_ownertype ot,t_address ad
where ow.addressid = ad.id and ow.ownertypeid = ot.id
--需求:查询显示业主编号、业主名称、地址、所属区域、业主分类
select ow.id 业主编号,ow.name 业主名称,ad.name 地址,ar.name 所属区域,ot.name 业主类型
from t_owners ow,t_ownertype ot,t_address ad,t_area ar
where ow.addressid = ad.id and ow.ownertypeid = ot.id and ad.areaid = ar.id
--需求:查询显示业主编号、业主名称、地址、所属区域、收费员、业主类型
select ow.id 业主编号,ow.name 业主名称,ad.name 地址,ar.name 所属区域,op.name 收费员,ot.name 业主类型
from t_owners ow,t_ownertype ot,t_address ad,t_area ar,t_operator op
where ow.addressid = ad.id and ow.ownertypeid = ot.id and ad.areaid = ar.id and ad.operatorid = op.id --外连接查询
--需求:查询业主的账务记录,显示业主编号、名称、年、月、金额。如果此业主没有账务记录也要列出姓名
--sql1999写法
select ow.id 业主编号,ow.name 业主名称,ac.year 年,ac.month 月,ac.money 金额
from t_owners ow left join t_account ac
on ac.owneruuid = ow.id
--Oracle写法
select ow.id 业主编号,ow.name 业主名称,ac.year 年,ac.month 月,ac.money 金额
from t_owners ow,t_account ac
where ow.id=ac.owneruuid(+)
--右外连接查询
--需求:查询业主的账务记录,显示业主编号、名称、年、月、金额。如果账务记录没有对应的业主信息,也要列出记录。
--sql1999写法
select ow.id 业主编号,ow.name 业主名称,ac.year 年,ac.month 月,ac.money 金额
from t_owners ow right join t_account ac
on ac.owneruuid = ow.id
--Oracle写法
select ow.id 业主编号,ow.name 业主名称,ac.year 年,ac.month 月,ac.money 金额
from t_owners ow,t_account ac
where ow.id(+)=ac.owneruuid
【学亮开讲】Oracle内外连接查询20181119的更多相关文章
- oracle——外连接查询
一.问题描述 有时我们为了保留某个表中的数据,而该表中的数据在另外一个关联表中未必都存在对应,此时就应该试用外连接查询. 比如:两个表,产品表和子产品表 注:子产品的parent_product_id ...
- mysql 全连接和 oracle 全连接查询、区别
oracle的全连接查询可以直接用full on,但是在mysql中没有full join,mysql使用union实现全连接. oracle的全连接 select * from a full joi ...
- oracle 内外连接,左连接,右连接 区别
首先讲解一下 on 与where后面接的条件的区别 on和where条件的区别如下:1. on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录.2.where条件是在 ...
- 【学亮开讲】Oracle存储过程教学笔记(二)20181116
--带出参的存储过程的创建和调用 create or replace procedure pro_owners_add1 ( v_name varchar2,--名称 v_addressid numb ...
- 【学亮开讲】Oracle存储过程教学笔记(一)20181115
--创建业主序列起始值为11 ; --不带传出参数的存储过程 create or replace procedure pro_owners_add ( v_name varchar2,--名称 v_a ...
- oracle 之 连接查询
where 连接 select * from a,b //使用的是笛卡尔乘积 显示 a.count*b.count 条数 select * from a,b where a.id=b.id 其实只是 ...
- ORACLE 通过连接查询更新 update select
注意: 关键的地方是where 语句的加入. 在11G中, 如果不加11G , 或造成除匹配的行数更新为相应的值之后, 其余的会变成负数. 所以,执行前需要测试, 普通办法就是: 先查看需要更新的 ...
- MySql的连接查询
类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...
- IBatis.Net 表连接查询(五)
IBatis.Net之多表查询: 一.定制实际对应类的方式 首先配置多表的测试数据库,IBatis.Net之Oracle表连接查询配置: 首先新建两张表如下: 为两张表建立外键: ALTER TABL ...
随机推荐
- https 建立连接过程
http://blog.csdn.net/wangjun5159/article/details/51510594 思考问题的顺序 学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什 ...
- ES6切割原理
ES6提供了 ... 操作,下面简单演示如何切割对象 const params = { page: 1, pageSize: 10, name: '名字', age: '13', weight: '7 ...
- ES5-ES6-ES7_数值的扩展
二进制与八进制数值表示法: 二进制用0b, 八进制用0o console.log(0b1010) console.log(0o56) Number.isFinite(i) 判断是否是有限大的数 con ...
- Xshell安装后,使用的优化
常见的远程连接软件 windows Xshell.secureCRT.Putty mac ssh命令.iterm2 手机 IOS-termius Android-JuiceSSH Xshell的优化 ...
- 使用dd备份和恢复ASM中的数据文件头
这里用大家随处可见的(除了extent分布的x$kffxp需要百度和google外),其余都是文档中有详细记载的常用ASM视图来实现同样功能: 下面的用于从ASM中备份数据文件头: SQL> s ...
- 11 python初学 (文件)
对文件的操作分为 3 步: 打开文件: f = open('望月怀古', 'r', encoding='utf8') # 路径可以写绝对路径,也可以写相对路径: 操作 关闭文件: f.close() ...
- Python框架学习之用Flask创建一个简单项目
在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...
- 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html
EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南.EasyNetQ是为了提供一个尽可能简洁的适用与R ...
- linux内存源码分析 - 内存池
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 内存池是用于预先申请一些内存用于备用,当系统内存不足无法从伙伴系统和slab中获取内存时,会从内存池中获取预留的 ...
- Feature Extractor[content]
0. AlexNet 1. VGG VGG网络相对来说,结构简单,通俗易懂,作者通过分析2013年imagenet的比赛的最好模型,并发现感受野还是小的好,然后再加上<network in ne ...