日期:2014-05-18  浏览次数:20467 次

SQL多表查询优化问题(我用IN,还能有其他办法吗)
有两个表,表A和表B,字段定义如下:
表A字段:(ID,Name, NetKey。。。);
表B字段:(ID,Name,Plug,Group,。。。);

现要查询表B中符合条件的纪录,且这些纪录在表A中,我用IN,查的太慢了,有没有其他更好的办法呢
我的语句是这样写的
Select distict A.NetKey form A where A.Name IN(Select B.Name from B where Plug=1, Group=4);

谢谢

------解决方案--------------------
Select distict A.NetKey form A left join B on A.Name=B.Name where Plug=1, Group=4
------解决方案--------------------
用join比in快一点。
select distict A.NetKey form A inner join B on a.name=b.name
------解决方案--------------------

select distict A.NetKey form A inner join B on a.name=b.name where Plug=1, Group=4