有两个表,一个employees一个departments。现在是要查询每个部门内的员工数量。
SELECT d.*,(
SELECT COUNT(*)
FROM `employees` e
WHERE e.`department_id`=d.`department_id`
) 个数
FROM `departments` d;
查询结果:
问题关键是如果直接执行子查询:
SELECT COUNT(*)
FROM `employees` e,`departments` d
WHERE e.`department_id`=d.`department_id`;
输出结果是所有有对应部门的员工数,输出106,为什么同样的查询放到主查询中就不是106了呢?