查找他们管理的所有员工共享同一办公室的所有经理。您应该返回他们的所有管理人员所在的开斋节,他们的名字和办公室。
SELECT e.eid AS ID,
e.NAME AS NAME,
e.office AS office
FROM employee e,
manager m
WHERE e.eid = m.mid
GROUP BY m.mid;
上面的查询是对的??
您可以从表Employee
中选择列,同时要求获取经理的详细信息。
您可以使用两个表格之间的INNER JOIN
,GROUP BY m.mid, m.name
和聚合:
SELECT
m.mid as ID,
m.name as Name,
MAX(e.office) office
FROM Manager m INNER JOIN Employee e
ON e.mid = m.mid
GROUP BY m.mid, m.name
HAVING COUNT(DISTINCT e.office) = 1
HAVING COUNT(DISTINCT e.office) = 1
声明规定所有员工共用一个办公室。
我猜Employee
表中有一个列,如mid
,它引用了员工的经理ID。将其更改为实际列的名称。