Oracle join的正确用法描述

数据库 Oracle
下面的文章主要是介绍Oracle join的正确用法,以下就是文章的具体介绍,希望你浏览此篇文章之后会在其相关应用方面会有所收获。

以下的文章主要是通过代码的方式来引出Oracle join的正确用法,其在实际中的应用比例还是占为多数的,如果你对这一新开发的技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。希望你在浏览完之后会有所收获。

  1. 8i:  
  2. create table dali.test1(a int,b int);  
  3. create table dali.test2(a int,b int);  
  4. insert into dali.test1 values(1,456);  
  5. insert into dali.test1 values(2,427);  
  6. insert into dali.test2 values(1,45456);  
  7. insert into dali.test2 values(3,45656);  

 

内连接

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

左连接

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

右连接

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

完全连接

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

迪卡尔

  1. select * from dali.test1, dali.test2;  
  2. '================================================================== 

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

 

分为1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4.LEFT OUTER 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的用法的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle性能优化五大工具介绍
  2. Oracle版本的区别有那些
  3. Oracle 数据库的各种不同版本的差别
  4. Oracle 外键的相关约束中级联删除的方案
  5. Oracle用户的相关授权和管理的分析
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-08 13:26:39

Oracle安装

2010-04-01 13:09:12

Oracle中join

2010-04-02 15:22:02

Oracle join

2010-04-08 17:17:03

Oracle to_c

2010-05-06 16:20:45

Oracle随机函数

2010-04-27 15:59:26

Oracle to_c

2010-04-30 11:58:45

Oracle sequ

2010-04-30 10:47:26

Oracle Nvl函

2010-04-30 17:58:55

Oracle trun

2010-05-07 14:26:55

Oracle临时表

2010-08-11 15:16:02

DB2日志设置参数

2011-08-23 18:19:19

Oracle行转列Join用法

2010-05-10 11:16:14

Oracle ESCA

2010-04-12 12:55:24

Oracle 安装经验

2010-05-18 19:03:21

linux MySQL

2019-04-16 15:18:28

SQLJOIN数据库

2010-05-27 14:47:14

MySQL INSER

2010-05-25 15:24:38

MySQL updat

2010-05-31 11:13:00

MySQL Date函

2010-04-06 16:12:25

Oracle约束
点赞
收藏

51CTO技术栈公众号