sql语句的查询基本题(总结)_sql查询语句总结一
sql语句的查询基本题(总结)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“sql查询语句总结一”。
1.构造SQL语句,列出在1981年入职的员工的姓名、入职时间和月收入(薪水和奖金之和),并将入职时间显示为:”1981-10月-10”这种形式。
select ename ,to_char(hiredate,'yyyy')||'-'||to_char(hiredate,'mm')||'月-'||to_char(hiredate,'dd'),(sal+nvl(comm,0))
from EMP t where to_char(hiredate,'yyyy')='1981';
2.列出职员表中员工的姓名、薪水、所属部门名称,并按照薪水由高到低排序。
select ename,sal,dname from emp e join dept d on e.deptno=d.deptno order by sal desc;
3.列出每个员工的名字(别名为EMPLOYEE)及他们的直接领导的名字(别名为MANAGER), 如果直接领导的姓名为null,显示为Bo。
select ename EMPLOYEE,nvl((select ename from emp b where a.mgr=b.empno),'BOSS')MANAGER from emp a;
4.查询哪些职位的薪水总和大于5000元,列出这些职位和其薪水总和,并按薪水总和升值排序。
select job,sum(sal)from emp a group by a.job having sum(sal)>5000 order by sum(sal)asc;
5.查询哪个部门的平均薪水比20部门的平均薪水低,列出这些部门的编号和平均薪水值。
select deptno,avg(sal)from emp a group by a.deptno having avg(sal)
emp a group by a.deptno having deptno='20');
6.查询机构中薪水最低的五名员工,列出员工姓名和薪水值。
select * from(select ename,sal from emp order by sal)where rownum
7.按薪水从高到低排序,列出第5位到第10位员工的姓名、薪水和职位。
select e.* from(select rownum rn,ename,sal from(select * from emp order by sal desc)where
rownum4;
8.列出部门名称和该部门的员工信息,同时列出那些没有员工的部门。
select dname,d.deptno,e.* from emp e right join dept d on e.deptno=d.deptno;
9.显示员工姓名是SMITH的人的姓名和部门名称。
select ename,dname from(select * from emp e join dept d on e.deptno=d.deptno where ename='SMITH')c;
10.查询出薪水比公司平均薪水高的员工信息。
select * from emp where sal>(select avg(sal)from emp);
11.查询公司里所有员工的工资级别。
select a.*,grade from emp a,salgrade c where c.losal = a.sal;
12.查询姓名中含有‘M’的员工信息。
select * from emp where ename like '%M%';
13.显示正好为5个字符的员工的姓名。
select ename from emp where length(ename)=5;
14.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面。
select ename,to_char(hiredate,'yyyy/mm')from emp order by to_char(hiredate,'mm'),to_char(hiredate,'yyyy')asc;
15.对于每个员工,显示其加入公司的天数。
select ename,round(sysdate-hiredate)emp_date from emp;