1
Department (dNumber, dName)
Employee (SSN, eName, salary, /dNumber/)
Project (pNumber, pName, pLocation)
WorksOn (/SSN/, /pNumber/, hours)
这些是我正在使用的表。我想列出超过5名员工工作的所有部门编号和姓名,并计算薪水超过40,000的员工人数。我想练习使用子查询。SQL使用子查询查询
这里是我写的:
SELECT T.dNumber, T.dName, COUNT(T.SSN)
FROM
(
SELECT d.dNumber, d.dName, e.SSN
FROM Department d, Employee e
WHERE e.salary > 40000 AND d.dNumber = e.dNo
) as T
GROUP BY dNumber, dName
HAVING COUNT(T.SSN) > 5;
但它的外观和感觉是多余的。这几乎就好像我不需要使用子查询。有任何想法吗?
谢谢!
MySQL的<> SQL服务器 – FLICKER
你查询只返回公司,超过5名员工获得4万以上的费用。但根据你的描述,你需要展示拥有5名以上员工的公司,并计算那些制作40k +的公司。哪一个是正确的? – Uriil
@Uriil我的英语可能不好,但我有一种感觉,你说的是同样的事情。 –