左连接(LEFT JOIN)在 MySQL 中用于查询左表的全部记录,以及右表中与左表匹配的记录;如果右表没有匹配项,则对应字段显示为 NULL。
LEFT JOIN 基本语法
LEFT JOIN 必须配合 ON 子句指定关联条件,不能省略:
SELECT 字段列表 FROM 左表 LEFT JOIN 右表 ON 关联条件;
注意:LEFT JOIN 也可写作 LEFT OUTER JOIN,效果完全相同,“OUTER”可省略。
LEFT JOIN 的核心逻辑
以左表为基准,逐行扫描每一条记录 对每一行,在右表中查找满足 ON 条件的记录 找到则拼接成一行结果;找不到则右表对应列填 NULL 最终结果行数 ≥ 左表行数(不会少于左表)常见使用场景与示例
例如有两张表:users(用户ID、姓名) 和 orders(订单ID、用户ID、金额),想查所有用户及其订单信息(包括从未下单的用户):
SELECT u.name, o.amount FROM users u LEFT JOIN orders o ON u.id = o.user_id;
结果中,没下过单的用户对应 amount 列为 NULL,但姓名仍会显示。
