A 表共有2条ID不同的数据,与B表关联后, 居然返回多于2条数据,是怎么回事? 如:表A: Aid Aname 1 1A 2 2A 表B: Bid Bname 1 1B 2 2B 3 3B 进行左联接: SELECT a.* from A a Left join B b on a.Aid =b.Bid 左联接后返回结果: Aid Aname Bid Bname 1 1A 1 1B 2 2A 2 2B 3 3B 怎么回事呢?
SQL> create table b(bid int,bname varchar2(20));
表已创建。
SQL> insert into a select 1,'1a' from dual;
已创建 1 行。
SQL> insert into a select 2,'2a' from dual;
已创建 1 行。
SQL> commit;
提交完成。
SQL> insert into b select 1,'1b' from dual;
已创建 1 行。
SQL> insert into b select 2,'2b' from dual;
已创建 1 行。
SQL> insert into b select 3,'3b' from dual;
已创建 1 行。
SQL> commit;
SQL> select * from a;
AID ANAME
---------- --------------------
1 1a
2 2a
SQL> select * from b;
BID BNAME
---------- --------------------
1 1b
2 2b
3 3b
SQL> select a.* from a left join b on a.aid=b.bid;
AID ANAME
---------- --------------------
1 1a
2 2a