的SQL Server 2014 Management Studio中更新查询
的SQL Server 2014 Management Studio中更新查询
empid, empname, job, hiredate, sal, comm, deptno
我想验证这是否正确我有一个表Employee
与列:
- 每个部门的雇员数
- 如何每个部门的每种工作都有很多人
- 显示员工少于6人的部门和员工数
- 查找雇员名和工资是谁在部门收入最高薪酬20
这是我曾尝试:
查询#1:
select DEPTNO, count(*) AS NO_OF_PERSONS
from EMP
group by DEPTNO;
查询#2:
select job, count(*) AS NO_OF_PERSONS
from EMP
group by job;
查询#3:
update EMPLOYEE
set sal = sal + 1000
where com > 2500;
而我无法做第四部分。
select e1.name, e1.sal
from EMP e1
where e1.DEPTNO = 20
and not exists(select *
from EMP e2
where e2.DEPTNO = 20
and e2.sal > e1.sal);
我希望下面的查询能帮到你。
- 每个部门的员工没有?
SELECT DEPTNO,
count(*) AS NO_OF_PERSONS
FROM EMP
GROUP BY DEPTNO;
开始=>
- 在各部门各职种有多少人呢?
SELECT job,
deptno,
count(*) AS NO_OF_PERSONS
FROM EMP
GROUP BY job,
deptno;
开始=>
- 显示在部门少于6雇员雇员的部门和没有。
SELECT deptno,
count(*)
FROM emp
GROUP BY deptno
HAVING count(*) < 6;
开始=>
- 找到员工姓名和工资是谁在赚部门最高薪水20
SELECT Max(salary_amount),
empid
FROM EMP
WHERE deptno = 20
GROUP BY empid;
你可以开始学习基本SQL here
在上一个示例中,您需要交换WHERE和GROUP BY条款。 –
@Dan,在两种情况下生成的结果都是相同的,因为在任何情况下WHERE都是在聚合之前执行的。 – zarruq
如果您在GROUP BY之后放置WHERE,则会在关键字WHERE'.'错误附近获得'错误的语法。 –
Ple ase,显示示例数据(以文本形式)并预期结果 – Sami
请包括您为第4部分尝试的内容。 –