编写一条SQL语句,为满足以下所有条件的所有受薪员工打印所有员工的姓名及其部门编号:
请注意,主管不是部门经理
SQL代码:
select
ename, d#
from
employee, department
where
count(p#) = 2
and salary < 30000
and cname, d# in (select ename, d#
from employee, department
where employee.cname = depatment.cname);
答案 0 :(得分:0)
这对您来说是一个良好的开端,因为缺少有关管理人员和主管的数据(通常您没有提供任何架构):
select ename
from employee e
join department d on e.cname = d.cname
where salary < 30000
group by ename
having count(p#) = 2
它将显示每个员工的工资低于30K,适用于2个项目。
您可能需要更多的连接/子查询来实现所需的输出。