如何创建此 Select 语句?
Posted
技术标签:
【中文标题】如何创建此 Select 语句?【英文标题】:How do I create this Select Statement? 【发布时间】:2011-02-23 05:56:48 【问题描述】:有两个表:员工和部门。 Employee 表有列:empid、deptid、employeename 部门表有:deptid、deptname
我想创建一个选择语句,它将列出属于拥有超过 3 名员工的部门的所有员工。
我该怎么做?
【问题讨论】:
【参考方案1】:select empid, employeename
from Employee
where deptid in (
select deptid
from Employee
group by deptid
having count(*) > 3
)
【讨论】:
【参考方案2】:只是另一种方法......
Select e.empid, e.employeename
from employee e
where 3 <= (select count(e2.empid)
from employee e2
where e2.empid <> e.empid and e2.deptid = e.deptid)
【讨论】:
:) 谈论复杂的事情! @Roopesh - 同意它既复杂又昂贵。与@Jason 的第一个解决方案相比,也不推荐。但这只是实现它的另一种方法。如果他是初学者,它将帮助他更合乎逻辑地理解查询。上面写着 - 选择同一部门中存在超过 3 名其他员工的员工 :) 我喜欢寻找替代品。以上是关于如何创建此 Select 语句?的主要内容,如果未能解决你的问题,请参考以下文章
可以在 select 语句的 where 部分中使用的 ORACLE SQL 函数