MySQL
MySQL
DELETE o
FROM orders o
JOIN refunds r ON r.order_id = o.id
WHERE r.status = 'approved';PostgreSQL
PostgreSQL
DELETE FROM orders o
USING refunds r
WHERE r.order_id = o.id
AND r.status = 'approved';| MySQL | DELETE 后跟要删的别名清单;写错别名是常见报错(unknown table) |
|---|---|
| PostgreSQL | USING 列表只写辅助表,别名写在目标表上 |
| 风险 | 关联条件不唯一时删的不确定性?—— 删除条件命中即删,先 SELECT 同条件核对行数 |