| 保留侧 | 左表全部行 |
|---|---|
| 未匹配 | 右表列全部为 NULL |
| 判断未匹配 | 用右表 NOT NULL 的列(通常是主键)IS NULL |
示例
示例
SELECT u.id, u.name, o.id AS order_id, o.amount
FROM users AS u
LEFT JOIN orders AS o ON o.user_id = u.id
ORDER BY u.id, o.id;找出没有订单的用户
找出没有订单的用户
SELECT u.id, u.name
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE o.id IS NULL;判断未匹配要选右表 NOT NULL 的列(通常是主键),否则“匹配到但该列为空”的行会被误算。