--01.查询员工表所有数据,并说明使用*的缺点
--会将所有数据显示,数据过于庞大,不直观
--01.查询职(job)为'PRESIDENT'的员工的工资
Select ename,job,sal from emp
Where job=’PRESIDENT’;
--02.查询佣金为0或为null的员工的信息
Select * from emp where comm=0 or comm is null;
--03.查询入职日期在1981-5-1到1981-12-31之间的所有员工的信息
Select * from emp
Where
hiredate >to_date(‘1981-5-1’,’yyyy-mm-dd’)
and
hiredate<=to_date(‘1981-12-31’,’yyyy-mm-dd’);
--04..查询所有名字长度为4的员工的员工的编号,姓名
Select ename,empno from emp
Where enaem like ‘____’;
--05.显示10号部门饿所有经理和20号部门的所有员工
Select ename,job,deptno from emp
Where (deptno=10 and job=’MANAGER’ OR DEPTNO=20);
--06.显示姓名没有'L'字的员工的详细信息或含有'SM'字的员工信息
Select ename from emp
Where
(ename not like ‘%L%’)
Or
(ename like %SM%);
--07.显示各个部门经理的工资
Select * from emp where job=’MANAGER’;
--08.显示佣金收入比工资高的员工的详细信息
Select * from emp where comm>sal;
--10.把hiredate列看做是员工的生日,求本月过生日的员工:
Select ename,hiredate from emp
Where extract(month from hriedate)=extract(month from sysdate)-1;
--11.把hiredate列看做是员工的生日,求下月过生日的员工
Where extract(month from hriedate)=extract(month from sysdate)+1;
--12.求1982年入职的员工
Select * from emp where extract(year from hiredate)=’1982’;
--13.求1981年下半年入职的员工
Select * from emp where
hiredate > to_date(‘1981-6-1’,’yyyy-mm-dd’)
and
hiredate<to_date(‘1981-12-31’,’yyyy-mm-dd’);
--14.求1981年各个月入职的员工个数
select count(*),to_char(hiredate,’mm’) from emp
where to_char(hiredate,'yyyy')=1981 group by to_char(hiredate,'mm')
Select * from emp
--PartII
--01 .查询各个部门的平均工资
SELECT deptno,ROUND(avg(sal),2) avg
FROM emp
GROUP BY deptno
--02.显示各种职位的最低工资
ORACLE查询练习题
最新推荐文章于 2022-03-02 17:08:19 发布