如何查找以下从事2家以上公司的员工姓名 表:
Employee (employee_name, street, city, age)
Works (employee_name, company_name, salary)
答案 0 :(得分:4)
这可以让您获得为2家以上公司工作的员工姓名。如果您需要更多详细信息,可以加入Employee表。
SELECT
employee_name
FROM
Works
GROUP BY
employee_name
HAVING
COUNT(*) > 2
答案 1 :(得分:1)
SELECT employee_name FROM Works GROUP BY employee_name HAVING COUNT(*) > 2
这会生成一个列表,其中每个员工都代表一次,然后过滤掉员工,以便只显示那些对该组有贡献的记录超过两个的员工。
答案 2 :(得分:0)
除了之前提供的答案(btw是正确的)之外,如果您需要加入表,请考虑使用数字作为主键(我假设employee_name是两个表中的主键)。
这会加快您的查询速度(假设您在一个或两个表中有大量记录),因为您的DBMS将比较整数而不是字符串,这要快得多。