pl/mysql 使用左连接,查询每个员工的姓名,经理姓名,没有经理的King也要显示出来。
时间: 2024-12-11 08:44:24 浏览: 10
在MySQL中,你可以使用LEFT JOIN来实现这个需求,假设我们有两个表,一个是`employees`(员工信息),包含字段`id`, `name` 和 `manager_id`;另一个是`managers`(经理信息),包含`id`和`name`。没有经理的员工我们将显示为`NULL`。
查询语句可以写成这样的形式:
```sql
SELECT employees.name AS employee_name,
COALESCE(managers.name, 'King') AS manager_name
FROM employees
LEFT JOIN managers ON employees.manager_id = managers.id;
```
在这个查询中:
- `LEFT JOIN` 确保了所有的员工记录都会被显示,包括那些没有经理的员工(即`manager_id`为NULL的情况)。
- `COALESCE` 函数用于返回两个值中的第一个非空值。如果`managers.name`存在,那么返回经理的姓名;如果不存在(`managers.name`为NULL),则返回字符串'King'。
阅读全文