以下是我找到的SQL语句:
SELECT d.name, count(e.emp_id) num_employees
FROM department d INNER JOIN employee e
ON d.dept_id = e.dept_id
GROUP BY d.name
HAVING count(e.emp_id) > 2;
Run Code Online (Sandbox Code Playgroud)
我想知道什么d.name
,e.name
或者d.dept_id
是什么意思。有什么不同?
点.
通常是表名。在你提到的句子中,d
是别名的名字。如果你检查FROM
语句,你有department d
。这意味着您想从表中获取行department
但将其引用为d
(因为department
是一个长字),因此您创建了一个别名。
为了消除字段歧义,因为不同的表可能具有相同的字段名称,您可以在字段前面加上表名(或别名),后跟点。
简而言之,您是在说:
name
从 alias 中选择字段,并分别d
从表department
和employee
,别名d
和e
等的连接中计算员工数。
归档时间: |
|
查看次数: |
30269 次 |
最近记录: |