两个表
table1两个字段:field1,fieldtype
table2两个字段,field1,fieldalias
table1的field1与table2中的field1为相同字段,table1中有10个数据,table2中有五个数据,如何将table2中的别名选出来匹配给table1中的field1
结果要求字段field1,fieldtype,fieldalias
其中fieldalias字段有5个为空。
table1两个字段:field1,fieldtype
table2两个字段,field1,fieldalias
table1的field1与table2中的field1为相同字段,table1中有10个数据,table2中有五个数据,如何将table2中的别名选出来匹配给table1中的field1
结果要求字段field1,fieldtype,fieldalias
其中fieldalias字段有5个为空。
from table1 a,table2 b
where a.field1=b.field1(+)
放在左边等同于LEFT JOIN
大右边等同天RIGHT JOIN
这样最后出来的结果是10条纪录,其中5条的fieldslias是空的
如果不用(+)
最后出来是5条纪录,fieldslias全有值
FROM TABLE1 A
LEFT JOIN TABLE2 B ON A.FIELD1 = B.FIELD1;
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)这两种方法都可以的
select t1.field1,t1.fieldtype,t2.fieldalias
from table1 t1 left join table2 t2
on t1.field1 = t2. field1
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
from table1 t1 left join table2 t2
on t1.field1 = t2.field1
from table1 a,table2 b
where a.field1=b.field1(+);
还是习惯于用这种写法,可读性好,用(+)外关联表示:即使在table2中没有与table1匹配的field1数据,也能保证把table1的
数据选出来,这样保证table1的数据都能选出来,如果不用外连接,就只能选出5条记录来.这样应该明白了吧