SQL基本语句练习(二)
2006-11-12 09:54
1081 查看
1. 查询所有雇员姓名以及其全年收入(工资+奖金),并指定列别名为“年收入”。
select ename,12*(sal+nvl(comm,0)) as年收入 from emp;
2. 查询有雇员的所有部门的部门号和部门名称。
select empno,ename,dept.dname,dept.deptno from emp,dept where emp.deptno=dept.deptno;
3. 查询工资超过2850的雇员姓名和工资。
select ename, sal from emp where sal>2850;
4. 查询工资不在1500到2850之间的所有雇员姓名和工资。
select ename, sal from emp where sal not between 1500 and 2850;
5. 查询10号部门和30号部门工资超过1500的雇员姓名和工资。
select ename, sal from emp where sal < 1500 and deptno in (10,30);
6. 查询没有上司的员工姓名及其职位。
select ename, job from emp where mgr is null;
7. 查询在1981年2月1日~1981年5月1日之间入职的雇员姓名、职位及入职时间,并以入职时间的先后进行排序。
select ename,job,hiredate from emp where hiredate between '01-1月-81' and '01-5月-81' order by hiredate;
8. 查询有奖金的员工的姓名、工资和奖金,并按工资和奖金降序排序。
select ename,sal,comm from emp where comm is not null order by sal desc,comm desc;
9. 查询每种职位的雇员总数和平均工资。
select job,count(*),avg(sal) from emp group by job;
10. 查询所有雇员总数和获得奖金的员工数。
select count(empno),count(comm) from emp ;
11. 查询经理的总人数。
select count(*) from emp where job='MANAGER';
12. 查询20号部门的部门名称,以及该部门所有雇员姓名、工资和职位。
select dname,ename,sal,job from emp,dept where dept.deptno=emp.deptno and emp.deptno=20;
13. 查询有奖金的所有员工的姓名、奖金以及所在部门名称。
select ename,comm,dname from emp,dept where dept.deptno=emp.deptno and comm is not null;
14. 查询在“New York”工作的所有员工的姓名、工资及其所在部门名称。
select ename,sal,dname from emp,dept where dept.deptno=emp.deptno and loc= 'NEW YORK';
15. 查询雇员SCOTT的上级。
select empno,ename from emp where empno=(select mgr from emp where ename='SCOTT');
16. 查询20号部门的员工姓名、工资及其级别。
select ename,sal,grade from emp,salgrade where deptno=20 and sal between losal and hisal;
17. 查询与BLAKE同一部门的其他员工。
select empno,ename from emp where deptno=(select deptno from emp where ename='BLAKE') and
ename!= 'BLAKE';
18. 查询工资超过平均工资的所有员工的姓名、工资和职位。
select ename,sal,job from emp where sal> (select avg(sal) from emp);
19. 查询工资、奖金与SCOTT完全相同的所有员工的姓名、工资和奖金。
select ename,sal, comm from emp where (sal,nvl(comm,-1)) in (select sal,nvl(comm,-1) from emp where
ename='SCOTT') ;
20. 查询81年入职的员工
select * from emp where to_char(hiredate, 'yy')= '81';
21. 按年月日查询员工信息
select to_char(hiredate, 'yyyy-mm-dd' )from emp;
22. 向DEPT表中插入一条数据,要求:部门号为50,部门名称为ADMINISTRATOR,部门位置为BOSTON。
Insert into dept values(50, 'ADMINISTRATOR','BOSTON');
23. 向EMP表中插入一条数据,要求:员工号为2000,姓名为JOHN,工资为1000,入职时间为2003年4月7日,部门号为30号。
Insert into emp (empno,ename,sal,hiredate,deptno) values(2000, 'JOHN',1000, '07-4月-03',30);
24. 给10号部门的每个雇员增加10%的工资。然后提交事务。
Update emp set sal=sal*1.1 where deptno=10;
commit
25. 删除50号部门。然后回滚事务。
Delete from dept where deptno=50;
Rollback;
相关文章推荐
- oracle 基本操作练习——简单的sql语句
- sql基本查询语句练习
- 基本的SQL语句练习(学生课程表)
- 基本SQL语句练习之SELECT
- 基本SQL语句练习(order by,group by,having)
- sql基本查询语句练习
- oracle中scott用户下四个基本表SQL语句练习
- 数据库SQL语句之Table的基本练习
- Oracle中scott用户下基本表练习SQL语句
- SQL查询语句基本练习
- oracle 基本语句练习(四) SQL1999 语法规范 cross join ,等值连接,不等值连接,自连接与外连接
- iOS开发中使用SQL语句操作数据库的基本用法指南
- SQL基本语句语法释义
- MySql数据基本操作sql语句
- 学习SQL应知道的动态SQL语句基本语法
- SQL基本语句
- SQL基本语句
- (3) SQL 语句 - 数据库基本操作
- 动态sql语句基本语法
- 基本的sql语句操作