【Oracle】练习与作业1

mac2025-07-10  6

【实验目的】

掌握select语句的基本用法。

掌握常用函数的使用。

掌握格式化查询结果的常用命令。 【实验内容】

查询部门编号是20的员工信息。 我的答案:select empno,ename,job from emp where deptno=20;

查询工作为CLERK的员工的员工号,名称,部门号。 我的答案:select empno,ename,job from emp where job in(‘CLERK’);

查询奖金COMM高于工资SAL的员工信息。 我的答案:select * from emp where comm>sal;

查询奖金高于工资20%的员工信息。 我的答案:select * from emp where comm>sal*0.2;

查询部门编号是10并且工作位MANAGER的员工和部门编号是20且工作为CLERK的员工的信息。 我的答案:select * from emp where (job=‘Manager’ and deptno=10)or(job=‘CLERK’ and deptno=20);

查询工作不是MANAGER和CLERK,工资大于等于2000的员工信息。 我的答案: select * from emp where(job!=‘MANAGER’ or job=‘CLERK’) and sal>=2000;

查询有奖金的员工信息。 我的答案:select job from emp where comm>0 group by job;

查询所有员工的人数和它们的平均工资。 我的答案:select ename,sal+nvl(comm,0) from emp;

查询工资抵御100的员工信息。 我的答案:select * from emp where (comm is null) or comm<100;

查询最近两年入职的员工信息。 我的答案:select * from emp where months_between(sysdate,hiredate)/25/12<=0.2;

查询工龄大于等于10年的员工信息。 我的答案:select * from emp where months_between(sysdate,hiredate)/25/12>=1;

查询员工信息。要求首字母大写。 我的答案:select initcap(ename) from emp;

查询员工名为6个字母的。 我的答案:select ename from emp where length(ename)=6;

查询员工姓名中不包含s的员工。 我的答案:select * from emp where ename not like ‘%S%’;

查询名字第二个字母是M的员工。 select * from emp where ename like ‘_M%’;

查询所有员工姓名的前三个字母。 我的答案:select substr(ename,1,3) from emp;

查询员工姓名。用S替换s。 我的答案:select replace(ename,‘s’,‘S’) from emp;

查询员工的姓名和入职日期,病案入职日期重现到后排序。 我的安安:select ename,hiredate from emp order by hiredate;

显示所有员工的姓名工作工资,按工作降序排序,相同则按工资升序排序。 我的答案:select ename,job,sal,comm from emp order by job desc,sal;

显示所有员工的姓名,入职日期,按月份排序。一样则按年份排序。 我的答案:select ename,to_char(hiredate,‘yyyy’) year,to_char(hiredate,‘mm’) month from emp;

查询每个部门的人数,平均工资,工龄。 我的答案: select deptno,count(deptno),avg(sal),avg(months_between(sysdate,hiredate)) 2 from scott.emp 3 group by deptno;

查询各个部门人数和平均工资。 我的答案:select deptno,count(deptno),avg(sal) 2 from scott.emp 3 group by deptno;

查询各个工作的最低工资,输出小于3000的工作名称。 我的答案: select job,min(sal) 2 from scott.emp 3 group by job 4 having min(sal)<3000;

查询各个部门工作的最高工资。 我的答案:select deptno,job,max(sal) 2 from scott.emp 3 group by deptno,job;

统计各个工种的员工人数和平均工资。 我的答案:select job,count(job),avg(sal) 2 from scott.emp 3 group by job;

最新回复(0)