sql - 本教程sql查询中如何获取部门名称?
问题描述
按照这里的 SQL 教程,我想查询每个部门的员工人数以及部门名称。
我在该教程中尝试了以下查询:
SELECT count(*), dept_name
FROM employees, departments
WHERE employees.dept_id = departments.dept_id
GROUP BY departments.dept_id
但它返回
COUNT(*) dept_name
2 NULL
2 NULL
而不是预期的输出
COUNT(*) dept_name
2 Accounting
2 Sales
我在这里做错了什么?
解决方案
首次使用JOIN
代替WHERE
然后你分组dept_id
以确保你没有重复的名字,比如 2 个销售部门或 2 个同名的员工。
SELECT departments.dept_id, dept_name, count(*)
FROM employees
JOIN departments
ON employees.dept_id = departments.dept_id
GROUP BY departments.dept_id, departments.dept_name
推荐阅读
- python - 熊猫从日期和整数创建日期时间列
- flutter - 如何扩展容器但停在一定大小?
- r - 包安装需要更新版本的依赖
- c# - 将字符串输入转换为 int C#
- python - 为什么我的程序不接受 Pandas 数据系列作为输入?
- node.js - Azure 会自动从 Github 更新机器人代码,但实际上不会更改正在使用的代码。我能做些什么?
- elixir - Mixfile 依赖项中的“runtime: false”是什么意思?
- django - 提交不适用于使用 updateview 手动呈现的 django 2.1 模型表单
- r - 重塑数据并修改新的列名
- powershell - SSIS 执行过程任务 StandardErrorVariable 属性为空