两个表 
table1两个字段:field1,fieldtype 
table2两个字段,field1,fieldalias 
table1的field1与table2中的field1为相同字段,table1中有10个数据,table2中有五个数据,如何将table2中的别名选出来匹配给table1中的field1 
结果要求字段field1,fieldtype,fieldalias 
其中fieldalias字段有5个为空。

解决方案 »

  1.   

    select a.field1,a.fieldtype ,b.fieldalias 
       from table1 a,table2 b
       where a.field1=b.field1(+)
      

  2.   

    (+)是外关联的意思
    放在左边等同于LEFT JOIN
    大右边等同天RIGHT JOIN
    这样最后出来的结果是10条纪录,其中5条的fieldslias是空的
    如果不用(+)
    最后出来是5条纪录,fieldslias全有值
      

  3.   

    SELECT A.FIELD1, A.FIELDTYPE, B.FIELDALIAS
      FROM TABLE1 A
      LEFT JOIN TABLE2 B ON A.FIELD1 = B.FIELD1;
      

  4.   

    select a.field1,a.fieldtype ,b.fieldalias 
       from table1 a,table2 b
       where a.field1=b.field1(+)select a.field1,a.fieldtype ,b.fieldalias 
       from table1 a
       left join table2 b on (a.field1=b.field1)这两种方法都可以的
      

  5.   


    select t1.field1,t1.fieldtype,t2.fieldalias
    from table1 t1 left join table2 t2 
    on t1.field1 = t2. field1
      

  6.   

    看这里http://fronkx.blog.hexun.com/17331585_d.html
      

  7.   

    SELECT A.FIELD1, A.FIELDTYPE, B.FIELDALIAS
      FROM TABLE1 A
      LEFT JOIN TABLE2 B ON A.FIELD1 = B.FIELD1
      WHERE B.FIELDALIAS IS NULLOR
    SELECT A.FIELD1, A.FIELDTYPE, B.FIELDALIAS
      FROM TABLE1 A
      RIGHT JOIN TABLE2 B ON A.FIELD1 = B.FIELD1
      

  8.   

    select t1.field1,t1,fieldtype,t2.fieldalias
    from table1 t1 left join table2 t2
    on t1.field1 = t2.field1
      

  9.   

    select a.field1,a.fieldtype ,b.fieldalias 
       from table1 a,table2 b
       where a.field1=b.field1(+);
    还是习惯于用这种写法,可读性好,用(+)外关联表示:即使在table2中没有与table1匹配的field1数据,也能保证把table1的
    数据选出来,这样保证table1的数据都能选出来,如果不用外连接,就只能选出5条记录来.这样应该明白了吧