把left join 语句改成 普通sql语句应如何实现

1. select count(*) from Sys_Channel t , U_User u where u.u_user_id
in ( select ss.last_op_id from Sys_Channel ss where ss.supplierinfo_id='0') and t.supplierinfo_id='0';

2. select count(*) from sys_channel s left join u_user u on s.last_op_id=u.u_user_id where s.supplierinfo_id='0'

第一条和第二条查询出的结果一样,但执行时间相差很大,你有什么好办法增快查询速度吗?

第1个回答  2011-02-19
哥们儿,我无语。
首先你使用的是sql server 还是oracle,还是mysql?
sql server自己带了查询分析器,他就可以完全满足你的要求。
oracle自己带的工具不是很好用,你可以下个TOAD或PLSQL Developer之类的,都比较好用
如果你用的是mysql,推荐你使用sqlyog,非常不错的mysql客户端工具。
第2个回答  2011-02-18
left join 已经是普通的sql语句了....是脱离平台的存在啊...
第3个回答  2011-02-18
Oracle

SELECT a.*, b.* FROM a left join b on (a.a = b.b)
等价为
SELECT a.*, b.* FROM a, b, WHERE a.a = b.b(+)本回答被网友采纳
相似回答
大家正在搜