这里的关系:WORKS(emp_name,company_name,salary)
问:编写表达式“关系代数”以找到员 worker 数最多的公司名称。
我试图以多种方式解决它,但没有找到正确的方法。
最佳答案
这是一个适用于大多数RDBMS的查询:
SELECT company_name
FROM WORKS
GROUP BY company_name
HAVING COUNT(*) = SELECT MAX(empCount) FROM
(
SELECT COUNT(*) AS empCount
FROM WORKS
GROUP BY company_name
) t
如果您使用的是MySQL,SQL Server或具有
LIMIT
关键字(或类似关键字)的任何数据库,则查询会变得更加容易:SELECT company_name, COUNT(*) AS empCount
FROM WORKS
GROUP BY company_name
ORDER BY empCount DESC
LIMIT 1
关于sql - 如何写关系代数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38887574/