多表连接查询与分组 --练习题

– 1、选择部门30中的雇员

select *
from emp
where deptno=30

– 2、列出所有办事员的姓名、编号和部门

select ename,empno,deptno
from emp
where job = 'clerk';

– 3、找出佣金高于薪金的雇员

select *
from emp
where comm>sal

– 4、找出佣金高于薪金60%的雇员

select *
from emp
where comm>sal*0.6

– 5、找出部门10中所有经理(MANAGER)和部门20中的所有办事员(CLERK)的详细资料

select *
from emp
where job='MANAGER' AND DEPTNO=10 AND job='CLERK' and deptno=20

**-- 6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料

select * 
from emp 
where job='MANAGER' AND DEPTNO=10 AND job='CLERK' and deptno=20

– 7、显示正好为6个字符的雇员姓名

select ename 
from emp 
where length(ename) = 6

– 8、显示不带有’R’的雇员姓名

select ename 
from emp 
where ename not like '%R%'

**-- 9、显示所有雇员的姓名的前三个字符

select * 
from emp 

– 10、显示所有雇员的姓名,用a替换所有’A’

select replace(ename,'A','a') 
from emp

– 11、显示雇员的详细资料,按姓名排序

扫描二维码关注公众号,回复: 12425204 查看本文章
select * 
from emp 
order by ename

– 13、查询每个雇员姓名及其工资所在的等级

select ename,sal,grade 
from emp,salgrade 
where sal between losal and hisal

– 15、查询每个雇员和其经理的姓名(两种方法)

select e1.ename 雇员姓名,e2.ename 经理姓名
from emp e1,emp e2
where e1.mgr=e2.empno;

猜你喜欢

转载自blog.csdn.net/gcyqweasd/article/details/112689715
今日推荐