以下的文章主要介绍的是Oracle中join用法,如果你是其方面的新手,对Oracle中oin的实际用法很感兴趣,但是却找不到一些资料去对其进行更深入的了解的话,你不妨浏览以下的文章对其进行了解。

Oracle中join的用法

8i:

create table dali.test1(a int,b int);

create table dali.test2(a int,b int);

insert into dali.test1 values(1,456);

insert into dali.test1 values(2,427);

insert into dali.test2 values(1,45456);

insert into dali.test2 values(3,45656);

内连接

select * from dali.test1 a, dali.test2 b wherea.a=b.a;

左连接

select * from dali.test1 a, dali.test2 b wherea.a=b.a(+);

右连接

select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;

完全连接

select * from dali.test1 a, dali.test2 b wherea.a=b.a(+)

union

select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;

迪卡尔

select * from dali.test1, dali.test2;

9i和sqlserver一样 left join,right join,full join

分为1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4.LEFT OUTER JOIN

在实现Oracle中join用法中首先设定一个我们要用的两个表

表A 表B

ID NAME ID CLASS

1 IBM 1 C1

2 SONY 3 C3

3 BMW 4 C4

1 INNER JOIN: SELECT * FROM A INNER JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

对了 就是 两个表的ID都存在并相同 得到这两个表的组合表

2 LEFT JOIN : SELECT * FROM A LEFT JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

没晕吧 如果还有方向感 就行 LEFT(左) 得到的是A(left语句的左边的表)的所有记录 而B表对应的记录没有的话也要补齐 (真霸道! 呵呵)

3 RIGHT JOIN : SELECT * FROM A RIGHT JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

4 null C4

对了RIGHT(右) 得到的是B(right语句的右边的表)的所有记录 而A表对应的记录没有的话也要补齐 (我也翻身了! 呵呵)

4 FULL OUTER JOIN: SELECT * FROM A FULL OUTER JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

4 null C4

以上的相关内容就是对Oracle中join用法的介绍,望你能有所收获。

【编辑推荐】

【责任编辑:孙巧华 TEL:(010)68476606】

点赞 0

oracle中何时会用到join,Oracle中join用法的演示相关推荐

  1. oracle显示多表数据,Oracle DB 使用连接显示多个表中的数据

    在Oracle9i之前的发行版中,该联接语法与美国国家标准协会(ANSI) 的标准不同.与以前发行版中的Oracle 专用联接语法相比,符合SQ • 编写SELECT语句,以使用等值联接和非等值联接访 ...

  2. oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用

    导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...

  3. oracle 所有外键约束,如何在oracle中找到所有外键约束?

    在StackOverflow中,我可以找到有关如何在SQL Server中查找所有外键约束的文章. 我只能在Oralce中找到有关如何查找表的所有外键约束的文章(外键列表和它们引用的表). 我的问题是 ...

  4. oracle使用left join,Oracle左连接left join的实际操作步骤

    以下的文章主要是介绍Oracle左连接left join 与右连接right join的实际操作步骤,如果你对Oracle左连接left join 与右连接right join的实际操作步骤相关的实际 ...

  5. oracle exist 10053,Oracle中利用10053事件来分析Oracle是如何做出最终的执行计划

    我们都知道Oracle从10g开始SQL语句选择什么样的执行方式,是全表扫描,还是走索引的依据是执行代价.那么我们怎么可以去看执行代价的信息呢?通过10053事件可以Oracle依据的执行代价和如何做 ...

  6. oracle中怎么给列起别名,oracle中给表和列起别名

    SELECT xxmc,sname asxsxm,sex,phone,address jzdzFROMstudent sLEFT JOIN xxjbxx x ON x.sid = s.sid 此处的s ...

  7. Oracle学习笔记(三)。连接查询。等值连接,非等值连接,自连接,LEFT OUTER JOIN,RIGHT JOIN,FULL JOIN,自然连接,内连接 INNERJOIN

    文章目录 1. 什么是多表查询 2. 多表链接方式 3. 多表连接语法 3.1 语法结构 3.2 定义连接 3.3 原则 4. 等值连接-内连接 4.1 什么是等值连接 4.2 抉择矩阵 4.3 使用 ...

  8. 初学Oracle的笔记(2)——基础内容(实时更新中..)

    续 初学Oracle的笔记(1)--基础内容(实时更新中..) 1.oracle中创建一张表,写法与sql server中的一样. SQL> create table Course 2 ( cn ...

  9. oracle插入表为文件,将文本文件插入Oracle表中

    --1.建立测试表 create table TA ( ID       INTEGER, FILENAME BLOB ); --2.建立数据库目录Directories create or repl ...

最新文章

  1. 在FreeBSD下安装mysql+apache+php
  2. 怎样加入� android private libraries 中的包的源码
  3. 企业安全体系建设方案设计(内附案例)
  4. python 实例变量_Python的类变量和实例变量详解
  5. 一个算法对于某个输入的循环次数是可以事先估计出来的_结合各路博客的EM算法理解...
  6. 从零开始学习docker(十九)Swarm mode 集群服务间通信--RoutingMesh
  7. 创建型模式学习总结——设计模式学习笔记
  8. UNIX、Linux与Windows之比较
  9. 一些Gym三星单刷的比赛总结
  10. djangobook记录
  11. 无线通信技术—LoRa
  12. Python 地图行政区边界方案
  13. FAT文件系统详解(二)
  14. 解决:Android4.3锁屏界面Emergency calls only - China Unicom与EMERGENCY CALL语义重复
  15. JS字符(字母)与ASCII码转换
  16. matlab 仿真三项异步电机,基于MATLAB三相异步电机的建模与仿真
  17. 抖音话题怎么选热门?为什么要做抖音话题
  18. 华为认证是自学还是报班合适
  19. 2017usnews计算机科学,2017年USNews美国计算机CS专业研究生排名
  20. 条码标签打印软件如何重复打印流水号

热门文章

  1. c语言编程 排序,C语言编程-9_3 排序
  2. 事务处理与SQL查询
  3. mysql索引 实验_“索引”实验小例
  4. 【高校宿舍管理系统】第零章 项目功能和技术路线
  5. Struts2 返回 json 格式数据
  6. BPM调用有webservice接口的.NET插件
  7. 2018-04-08Java编程夯实学习心得(2)
  8. (二)jquery学习----jquery的效果
  9. 老李说事:性能测试服务日记
  10. 一种简易的聊天泡泡设置颜色以及添加描边的方式