本帖最后由 dream1206 于 2012-01-31 23:02:54 编辑

解决方案 »

  1.   

    SELECT test1.text FROM `test1` WHERE test1.id IN (SELECT DISTINCT test2.id FROM `test2`);
    SELECT test1.text FROM `test1` INNER JOIN `test2` ON test1.id = test2.id;这两句其实在语义上,和结果上是不同的。 比如当 对  test1.id  如果有两条记录相同的  test2.id 则结果集中会有两个  test1.text
    如果  test2.id 也是唯一,则 第一句中的 DISTINCT  似乎就没什么意义了。如果 test2.id 唯一, 则产生的结果会相同,此时  INNER JOIN  的效率应该高一些。