创建一张表WCEmploy(职工号,姓名,部门名,工种,工资)
建表语句:
create table WCEmploy(
id number(3) PRIMARY KEY,
name varchar2(30) not null,
department_name varchar2(15),
type varchar2(30),
salary number(8)
)
插入数据:
insert into WCEmploy values(1,'张三','车间一','钳工',6000);
insert into WCEmploy values(2,'李四','车间一','电工',8000);
insert into WCEmploy values(3,'王五','车间二','车间主任',10000);
insert into WCEmploy values(4,'泰日天','车间一','钳工',6000);
insert into WCEmploy values(5,'风高放火','车间一','电工',8000);
insert into WCEmploy values(6,'沃尔沃','车间二','车间主任',10000);
insert into WCEmploy values(7,'CVBS','车间二','钳工',2000);
insert into WCEmploy values(8,'单个人','车间三','钳工',4500);
insert into WCEmploy values(9,'人头狗','车间二','钳工',6000);
insert into WCEmploy values(10,'后宫番','车间一','钳工',1500);
SQL
--1.请用一个SQL语句查询每个部门的总人数
--部门 DEPARTMENT_NAME
--WCEMPLOY
select DEPARTMENT_NAME 部门 , count(DEPARTMENT_NAME) 部门人数 FROM WCEMPLOY group by DEPARTMENT_NAME;
--2.请用一个SQL语句查询出不同部门的担任“钳工”的职工平均工资
--不同部门 DEPARTMENT_NAME 职位 TYPE 钳工 工资 SALARY
--WCEMPLOY
select DEPARTMENT_NAME 部门 , avg(salary) from WCEMPLOY where type='钳工' group by DEPARTMENT_NAME;
--3.请用一个SQL语句查询出不同部门的担任“钳工”的职工平均工资高于2000的部门
--查询部门 查询工资
--WCEMPLOY
select DEPARTMENT_NAME 部门 , avg(salary) from WCEMPLOY where type='钳工' group by DEPARTMENT_NAME having AVG(salary)>2000;
--4.请用一个SQL语句查询每个部门低于平均工资的员工信息
--查询每个部门的平均工资
--查询低于平均工资的员工全部信息
--WCEMPLOY
select *
from WCEMPLOY w,-- 一个W表
(select AVG(salary) as 平均工资, department_name
from WCEMPLOY
group by DEPARTMENT_NAME) t -- 一个t表
where w.DEPARTMENT_NAME = t.DEPARTMENT_NAME
and w.salary < 平均工资
order by ID;
PLSQL数据库查询语句学习Day03
最新推荐文章于 2024-07-08 21:32:26 发布