首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向我解释一个MySQL查询

问向我解释一个MySQL查询
EN

Stack Overflow用户
提问于 2014-01-14 02:54:01
回答 2查看 74关注 0票数 0

我很难搞清楚下面的mysql查询是如何工作的

代码语言:javascript
复制
SELECT dp.name, COUNT(em.dp) as employees 
FROM dp LEFT JOIN em ON dp.name=em.dp 
GROUP BY dp.name 
HAVING COUNT(em.dp) = 2;

它只是显示了哪些部门有2名员工。以下是这两张表:

代码语言:javascript
复制
em
----
id
full_name
dp


dp
----
id
name

这是我输入的几个条目。

代码语言:javascript
复制
INSERT INTO em (full_name, dp) VALUES ('Chris', 'ENG'), ('Steve', 'HR'), ('Mike', 'ACC'), ('Marvin', 'ACC');
INSERT INTO dp (name) VALUES ('ENG'), ('HR'), ('ACC');

有人能用简单明了的方式解释一下上面的问题吗?比如先发生的事等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-14 03:01:40

查询对所有部门(来自dp.name)进行分组,并返回该部门的员工数。

要可视化这一点,您可以从这两个表中提取一个包含所有列的表,这基本上就是您的联接。

然后,您可以从上面的表中一次清晰地提取每个部门名称,为每个部门创建一行(这是组所做的),并检查部门在第一个表中显示的次数(这是count函数)。

票数 0
EN

Stack Overflow用户

发布于 2014-01-14 03:28:48

您试过使用命令吗?您可以从mysql控制台访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21105272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档