oracle 查询A表和B表,只取A表数据,并把B表某个字段显示出来?

比如:A表有10条数据,B表有100条数据,B表name数据和A表name数据相同,但是A表和B表中都有重复的数据,现在要只显示A表的所有数据并加B表的一个字段
select a.*,b.name from a1 a,b1 b where a.name=b.name
这样子查询本来A表有10条数据的会变成不是10条了。
最新回答
无色的海

2024-04-29 00:27:13

你好,很高兴回答你的问题。

结果是会和你预想的一样。

另外一般也不会使用不是

主键
的字段做关联条件的。

﹎梦醒的夏天╰╯

2024-04-29 00:47:12

加个distinct:
select distinct a.*, b.name from a1 a, b1 b where a.name = b.name;
或者
select distinct a.*, b.name from a1 a left join b1 b on b.name = a.name;
追问
A表有重复的数据,但是不需要去重,只需要显示A表所有的数据就行,可以把A表字段全部拎出来加个group by 吗?