好像on与 结果条件没什么影响啊
解决方案 »
- oracle 存储过程 传出参数是cursor 没有open 异常处理
- 关于oracle中SYSTEM的问题
- JAVA 调用存储过程报错无效索引----求解脱
- 高手帮忙
- sql问题,菜鸟莫进
- (急)初学者问题oracle8i的初始账户和密码是什么?
- sql server里经常使用create table #Temp,oracle里应怎样操作?
- 关于oracle provider for oledb的安装 请帮忙
- insert into tablea (a,b) values(a,b) select a,b from tableb 出错
- 如何在本地执行impdp命令把dmp文件导入到服务器中,且服务器只能连接数据库
- oracle中的表问题
- 求救,这样的数据怎么提取?
2.执行结果不一样。tb1 left join tb2 ,如果 tb2没有满足的条件,用where则没有结果,但是用left join 则 会有结果。
right join 同理
id name
1 a
2 b
3 c--表tb2
id type
2 12 select tb1.id,tb1.name,tb2.type from tb1 left join tb2 on tb1.id=tb2.id
--可以查询出3行数据
id name type
1 a
2 b 12
3 c select tb1.id,tb1.name,tb2.type from tb1,tb2 where tb1.id=tb2.id
--查询出1条数据
id name type
2 b 12
left join 的on 条件 是对左表没有作用的,就是说对查询结果没影响,那有什么用呢?
where 指定的是连接后,结果集中记录的筛选条件。
B表是用户交易记录表
不是所有的用户都会有交易记录,如果我想查询全部用户的交易记录,没有记录的显示0
A left join B 就是最终选择。