LEFT JOIN 和 RIGHT JOIN
1. LEFT JOIN
返回左表的所有记录及右表中匹配的记录,若右表无匹配则结果中对应字段为 NULL。
语法
SELECT columns
FROM table1
LEFT JOIN table2 ON table1.common_field = table2.common_field;
`
示例
查询所有客户及其订单(包括没有订单的客户):
SELECT customers.name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
2. RIGHT JOIN
返回右表的所有记录及左表中匹配的记录,若左表无匹配则结果中对应字段为 NULL。
语法
SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.common_field = table2.common_field;
示例
查询所有订单及其客户(包括没有客户信息的订单):
SELECT orders.order_id, customers.name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.id;
3. 区别总结
| 连接类型 | 返回数据 |
|---|---|
| INNER JOIN | 只返回两表匹配的记录 |
| LEFT JOIN | 返回左表全部记录 + 右表匹配记录或 NULL |
| RIGHT JOIN | 返回右表全部记录 + 左表匹配记录或 NULL |
LEFT JOIN 和 RIGHT JOIN 用于处理数据不完全匹配的场景,提升查询灵活性。
相关内容
- mariabackup 工具 本节介绍 MariaDB 官方的物理备份工具 mariabackup,包括安装、使用方法和常用参数,帮助实现高效的数据库备份和恢复。
- mysqldump 使用 本节介绍使用 mysqldump 工具备份和恢复 MariaDB 数据库,包括导出数据库、表和数据的常用命令及参数示例。
- 性能监控与配置 本节介绍 MariaDB 性能监控与配置方法,涵盖性能指标监测、参数调优及工具使用,帮助提升数据库稳定性和响应速度。
- 慢查询日志 本节介绍 MariaDB 慢查询日志的配置与使用方法,通过记录执行时间较长的 SQL 语句,帮助定位性能瓶颈,优化数据库查询效率。
- 常规恢复 本节介绍 MariaDB 常规恢复方法,包含从 mysqldump 和 mariabackup 备份文件中恢复数据库的步骤,确保数据安全快速恢复。
- PITR 时间点恢复 本节讲解 MariaDB 利用二进制日志实现时间点恢复(PITR),通过恢复备份及应用日志,精确恢复到指定时间点。