200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > SQL基础题 一 查出每个部门高于部门平均工资的员工名单

SQL基础题 一 查出每个部门高于部门平均工资的员工名单

时间:2024-03-18 04:43:54

相关推荐

SQL基础题 一 查出每个部门高于部门平均工资的员工名单

--CREATE TABLE 表名称

--(

--列名称1 数据类型,

--列名称2 数据类型,

--列名称3 数据类型,

--....

--)

-- 创建一个职员表

--create table employee(

--id int identity(1,1) primary key ,

--name varchar(50),

--salary bigint,

--deptid int);

select * from employee;

--添加字段:

--alter table 表名 add 字段名 类型

--删除字段:

--alter table 表名 drop column 字段名

--alter table employee add age int;

--alter table employee drop column age;

--alter table employee add age int not null default 0 ;

--1.查出每个部门高于部门平均工资的员工名单

select employee.name

from employee

left join(select avg(salary)averg,deptid from employee group by deptid) s

on employee.deptid=s.deptid

where salary>averg;

select employee.name

from employee,(select AVG(salary) aver,deptid from employee group by deptid)av

where employee.deptid=av.deptid and employee.salary>av.aver;

--2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序。

select COUNT(employee.deptid)cou, employee.deptid

from employee left join(

select avg(salary)averg,deptid from employee group by deptid) s on employee.deptid=s.deptid

where salary>averg group by employee.deptid;

select COUNT(employee.deptid)total,employee.deptid

from employee ,(select AVG(salary)aver,deptid from employee group by deptid)av

where employee.deptid=av.deptid and employee.salary>av.aver

group by employee.deptid;

--3.求每个部门工资不小于6000的人员的平均值;

select AVG(salary),deptid from employee where salary>=6000 group by deptid;

--4、各部门在各年龄段的平均工资

select AVG(salary),age from employee group by age;

--select * from employee;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。