select A.a, A.b, A.c, B.d x
  from A, B
 where A.a=B.a(+)

解决方案 »

  1.   

    select A.a, A.b, A.c, B.d from A, B where A.a=B.a
    union
    select A.a, A.b, A.c, NULL from A, B where A.a<>B.a;
      

  2.   

    select A.a, A.b, A.c, B.d x  from A, B where A.a=B.a(+);如:
    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 where a.a=b.a;---左连接
    select * from dali.test1 a, dali.test2 b where a.a=b.a(+);---右连接
    select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;---完全连接
    select * from dali.test1 a, dali.test2 b where a.a=b.a(+)
    union
    select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;---迪卡尔
    select * from dali.test1, dali.test2;