t1表
t2表
要求查询出trade_id和p_id同时相等时的信息,包括user_id、qty。分别用left join on and 和left join on where。结果不一样。
left join on and 两个条件,查询的结果是t1表的全部记录,不满足t.p_id = f.p_id的,用null显示。
left join on where 两个条件,查询的结果是t1表的全部记录,但会根据t.p_id = f.p_id进行筛选过滤。
on-and
SELECT
t.*, f.*
FROM
`t1` t
LEFT JOIN t2 f ON t.trade_id = f.trade_id
AND t.p_id = f.p_id;
结果
on-where
SELECT
t.*, f.*
FROM
`t1` t
LEFT JOIN t2 f ON t.trade_id = f.trade_id
where t.p_id = f.p_id;
结果