Select  F1 from T1 Where Exists(Select * from T2 Where CharIndex(F2,F1)>0)

解决方案 »

  1.   

    你可以用多表查询的方式:select T1.f1,T2.f2 from t1 join  T2  on t1.子段=T2.子段
      

  2.   

    第二个语句是个错的,就谈不上什么效率了。一般来说,Exists的效率高点。
      

  3.   

    --建立测试环境
    Create table TEST1
    (F1 Varchar(100)
    )Create table TEST2
    (F2 Varchar(100)
    )
    GO
    --插入数据
    Insert TEST1 Values('abcd')
    Insert TEST1 Values('efgh')
    Insert TEST1 Values('ebdi')
    Insert TEST1 Values('sdosi')Insert TEST2 Values('a')
    Insert TEST2 Values('b')
    Insert TEST2 Values('c')
    Insert TEST2 Values('d')
    GO
    --测试
    Select  F1 from TEST1 Where Exists(Select * from TEST2 Where CharIndex(F2,F1)>0)
    GO
    --删除测试环境
    Drop table TEST1,TEST2
    --结果
    /*
    abcd
    ebdi
    sdosi
    */