-1

如何从下表中找到在超过 2 家公司工作的员工的姓名:

Employee (employee_name, street, city, age)

Works (employee_name, company_name, salary)
4

3 回答 3

4

这应该会为您提供为超过 2 家公司工作的员工姓名。如果您需要更多详细信息,可以加入 Employee 表。

SELECT
 employee_name
FROM
 Works
GROUP BY
 employee_name
HAVING
 COUNT(*) > 2
于 2012-09-29T17:04:49.920 回答
1
 SELECT employee_name FROM Works GROUP BY employee_name HAVING COUNT(*) > 2

这将创建一个列表,每个员工代表一次,然后过滤掉员工,以便只显示那些为该组做出贡献的记录超过两条的员工。

于 2012-09-29T17:05:04.567 回答
0

除了之前提供的答案(顺便说一句是正确的),如果您需要加入表,请考虑使用数字作为主键(我假设employee_name 是两个表中的主键)。

这将加快您的查询速度(假设您在一个或两个表中有很多记录),因为您的 DBMS 将比较整数而不是字符串,这要快得多。

于 2012-09-29T17:08:01.590 回答