例如
select * from Table1 t1 inner join Table2 t2 on t1.name=t2.name问题是:t2的匹配数据超过了t1的数据,我只想以table1为准,匹配和table2中name相同的数据,该怎么写了?

解决方案 »

  1.   

    意思是
    select * from Table1 t1 where t1.name in (select t2.name from Table2 group by t2.name)
    ?
      

  2.   

    select * from Table1 t1 left outer join Table2 t2 on t1.name=t2.name
      

  3.   

    select * from Table1 t1 left join Table2 t2 on t1.name=t2.name 这样以左边的表为准,左边表里有的才会有。
      

  4.   

    用左连接 left join on  可以实现你想要的功能
      

  5.   

    select * from Table1 t1 left join Table2 t2 on t1.name=t2.name
      

  6.   

    select * from Table1 t1 left join Table2 t2 on t1.name=t2.name