--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;