5.1.4 左外连接 LEFT JOIN + ON 【推荐】就相当于VLOOKUP(以左边为基准，把右边的v过来)
2020年3月31日
12:28
左连接，返回左表中的所有行，如果左表中行在右表中没有匹配行，则结果中右表中的列返回空值。
徒弟
师傅编号
序号
师傅
李小龙
1
1
叶问
孙悟空
2
2
菩提祖师
孙兴华
3
4
黄飞鸿
SELECT 徒弟,师傅 
FROM 表b
LEFT JOIN 表a 
ON 表a.师傅编号=表b.序号;
显示结果
例：我想将销售表按商品编码，将商品里的其它信息都V过来
SELECT a.*,商品名称,大类编码,大类名,小类编码,小类名,进价,售价
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
如果您想把列的顺序排好：
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
如果您想计算销售金额
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量,销售数量*售价 AS 销售金额
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
根据以上基础，我想设置日期为 2020-01-01 至 2020-01-03
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量,销售数量*售价 AS 销售金额
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
WHERE 日期 BETWEEN '2020-01-01' AND '2020-01-03'
根据以上基础，我想看每家店铺这一时间段内的 销售金额
SELECT 日期,店号,a.`商品编码`,商品名称,大类编码,大类名,小类编码,小类名,进价,售价,销售数量,销售数量*售价 AS 销售金额,(销售数量*售价)-(销售数量*进价) AS 毛利额
FROM `销售表`a LEFT JOIN `商品表`b ON a.商品编码 = b.商品编码
WHERE 日期 BETWEEN '2020-01-01' AND '2020-01-03'
GROUP BY 店号
ORDER BY 销售金额 DESC;