那就用SELECT * FROM a, b WHERE a.id = b.id;

解决方案 »

  1.   

    在where中,加上一个条件:设置右表的某个非空字段(如主键) IS NOT NULL 即可排除右表为空的记录
      

  2.   

    >>SELECT * FROM a, b WHERE a.id = b.id;这属于什么类型的连接?
      

  3.   

    表LEFT JOIN连接的时候,当右边的表没有符合条件的记录,会给出NULL值的记录,怎样能当右边没有符合记录时,就整个记录为空?----------------------------
    If you want to get that, it is not suit to use "left join".
    SELECT * FROM a, b WHERE a.id = b.id;This is a query from multi-table.
      

  4.   

    SELECT * FROM a, b WHERE a.id = b.id;
    这属于INNER JOIN类型的连接手册语
    在一个LEFT JOIN中没有右表的匹配记录,一个所有列设置为NULL的行被用于右表
    INNER JOIN和,(逗号)在语义上是等价的,都是进行一个在使用的表之间的全联结。通常,你指定表应该如何用WHERE条件联结起来
      

  5.   

    inner join写法
    ---------------------------------------------------------
    select a.*,b.* from 表1 a inner join 表2 a on a.id=b.id
      

  6.   

    这样就不能left join了,用inner join
      

  7.   

    SELECT a.*, b.* FROM a LEFT JOIN b ON (a.id=b.a_id AND NOT ISNULL(a.id))