【实验目的】
掌握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;