欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库表连接

程序员文章站 2022-06-04 08:08:42
...

Oracle数据库中有几种表连接方式:

1.内连接(最常用连接):

 

 select a.orgid, b.id
       from td_local_priority a, td_terminal_release b
      where a.experienceid = b.id;

 只连接匹配的行

 2.左外连接:

 select a.orgid, b.id
     from td_local_priority a left outer join td_terminal_release b
     on a.experienceid = b.id;

 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行)以及右边表中全部匹配的行

3.右外连接:

 

select a.orgid, b.id
     from td_local_priority a right outer join td_terminal_release b
     on a.experienceid = b.id;

  包含右边表的全部行(不管左边的表中是否存在与它们匹配的行)以及左边表中全部匹配的行

4.全连接:

select a.orgid,a.experienceid, b.id,b.brandid
     from td_local_priority a full join td_terminal_release b
     on a.experienceid = b.id;

包含左、右两个表的全部行,不管在另一边的表中是否存在与它们匹配的行

 5.(theta)连接:

 select a.orgid,a.experienceid, b.id,b.brandid
     from td_local_priority a  join td_terminal_release b
     on a.experienceid != b.id;

使用等值以外的条件来匹配左、右两个表中的行

  6.交叉连接:

 

select a.orgid,a.experienceid, b.id,b.brandid
    from td_local_priority a ,td_terminal_release b

 生成笛卡尔积——它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行一一匹配

相关标签: Oracle