select a.sdid,b.cookie_id
from lxw_t2 a
left outer join lxw_t1 b
on (a.sdid = b.cookie_id and a.pt = '2012-11-22');
如果把主表a的过滤条件写在on后面,则会先关联,在关联之后的结果上再过滤。
select a.cookie_id,b.sdid
from lxw_t1 a
left outer join lxw_t2 b
on (a.cookie_id = b.sdid and b.pt = '2012-11-22');
但如果是从表的过滤条件,则会先过滤,再关联。
特别要注意的是,如果是需要对主表过滤之后再和从表做左关联,最好将主表写成子查询的形式:
select a.sdid,b.cookie_id
from (select * from lxw_t2 where pt = '2012-11-22') a
left outer join lxw_t1 b
on (a.sdid = b.cookie_id);