有职员表 emp,表结构如表-1所示:
表-1 职员表emp 信息
emp 表中的示例数据如图-1所示:
图-1
有部门表 dept,表结构如表-2所示:
表-2 部门表 dept 信息
dept表中的示例数据如图-2所示:
图-2
需要完成如下查询:
1、查询职员表中,在20和30号部门工作的员工姓名和部门号。
2、查询职员表中,没有管理者的员工姓名及职位,并按职位排序。
3、查询职员表中,有绩效的员工姓名、薪资和绩效,并按工资倒序排列。
4、查询职员表中,员工姓名的第三个字母是A的员工姓名。
5、查询职员表中的职员名字、职位、薪资,并显示为如图-3所示效果:
图-3
提示:列之间用逗号连接,列头显示成OUT_PUT。
6、查询职员表中员工号、姓名、工资,以及工资提高百分之20%后的结果。
7、查询员工的姓名和工资,条件限定为:工资必须大于1200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。
8、查询ACCOUNT部门以外的其他部门的编号、名称以及所在地。
参考答案
各练习的参考答案如下所示:
1.
- select ename, deptno from emp where deptno in (20, 30);
2.
- select ename, job from emp where mgr is null order by job;
3.
- select ename, sal, comm From emp where comm is not null order by sal desc;
4.
- select ename from emp where ename like ‘__A%’;
5.
- select ename || ', ' || job || ', ' || sal OUT_PUT from emp;
6.
- select empno, ename, sal, sal * 1.2 salary from emp;
7.
- select ename, sal from emp where sal > 1200 order by hiredate;
8.
- select deptno, dname, loc from dept where dname <> 'ACCOUNT';