SQL基本语句练习(二)

 
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;
 
 
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值