select t1.编号,t1.姓名 from t1,t2 where t1.编号 = t2.编号
这样是最好的方式了
为什么不用?

解决方案 »

  1.   

    select t1.编号,t1.姓名 from t1,t2 where t1.编号 = t2.编号
    表关联的查询应该比下面的子查询速度快
    select t1.编号,t1.姓名 from t1 where t1.编号 in t2
      

  2.   

    我知道第一种方式是最好的方式,不过这只是抽象出来的,事实语句比这个复杂很多。T1是已经做好的查询,现在要限制其中“编号”的取值,但由于t1本来太过复杂,如果把t2嵌入其中会非常繁琐,所以想看看有什么更好的方法来处理。各位大侠帮忙想一想。
    比如用intersect,但是他要的是两个结果集相同,有什么办法可以取消或是绕过这个限制?
      

  3.   

    把所有表写成这种形式速度上可取:
    select * from a,b,c,d.. where a.id=b.id and ...;
      

  4.   

    把所有表写成这种形式速度上可取:
    select * from a,b,c,d.. where a.id=b.id and ...;