多个左连接查询

建表

 

 

create table AAAAA0

(

  GKNAME VARCHAR2(50),

  NUM    VARCHAR2(10)

)

 

 

 

create table AAAAA1

(

  CNAME VARCHAR2(50),

  NUM0  VARCHAR2(10),

  NUM1  VARCHAR2(10),

  NUM2  VARCHAR2(10)

)

 

问题描述

ORACLE SQL 多列外连接怎么匹配查询?

 

列出每条船的当前港口名,下一站港口名,终点港口名。

解决

 

 

select b0.cname,a0.gkname 当前港口,a1.gkname 下一站港口,a2.gkname 终点 from AAAAA1 b0,AAAAA0 a0,AAAAA0 a1,AAAAA0 a2

       where b0.num0=a0.num(+)

             and b0.num1=a1.num(+)

             and b0.num2=a2.num(+);

注意

1、  左连接或是右连接分主表和附属表,上面例子中主表是AAAAA1

2、  对于主表来说,只要主表的行任意字段有值,即便连接字段为null,也出现在结果集中。出现在结果集中的附表字段也必然为null。

3、  一个外链接对应一张表,如上例,有三个外链接,AAAAA0表就要起三个别名。

posted on 2017-09-15 17:06  坚持的人  阅读(866)  评论(0)    收藏  举报

导航