Oracle 10g 基础练习题

1选择部门 30 中的所有员工

SELECT * FROM EMP WHERE EMP.DEPTNO=30;

 

2列出所有办事员( CLERK )的姓名,编号和部门编号
SELECT EMP.EMPNO,EMP.ENAME,EMP.DEPTNO FROM EMP WHERE EMP.JOB='CLERK';

 

3找出佣金高于薪金的员工
SELECT * FROM EMP WHERE EMP.COMM>EMP.SAL;

 

4找出佣金高于薪金的 60% 的员工
SELECT * FROM EMP WHERE EMP.COMM>EMP.SAL*0.6;

 

5找出部门 10 中所有经理( MANAGER )和部门 20 中所有办事员( CLERK )的细资料细资料
SELECT * FROM EMP WHERE EMP.DEPTNO=10 AND EMP.JOB='MANAGER'OR EMP.DEPTNO=20 AND EMP.JOB='CLERK' ;

 

6既不是经理又不是办事员但其薪金大于或等于 2000 的所有员工的详细资料细资料
SELECT * FROM EMP WHERE EMP.JOB NOT IN( 'MANAGER','CLERK') AND EMP.SAL>2000;

 

7找出收取佣金的员工的不同工作
SELECT EMP.JOB,EMP.COMM FROM EMP WHERE EMP.COMM IS NOT NULL;

 

8找出不收取佣金或收取的佣金低于 100 的员工
SELECT * FROM EMP WHERE EMP.COMM IS NULL OR EMP.COMM<100;

 

9找出各月倒数第3天受雇的所有员
SELECT * FROM EMP WHERE LAST_DAY(HIREDATE)-HIREDATE=2;//(找出各月倒数第3天受雇的所有员)

 

10找出早于 12 年前受雇的员工
SELECT * FROM EMP WHERE MONTHS_BETWEEN(SYSDATE,HIREDATE)/12>12;//(找出早于 12 年前受雇的员工)

 

11以首字母大写的方式显示所有员工的姓名
SELECT INITCAP(EMP.ENAME) FROM EMP;//(首字母大写函数 INITCAP())

 

12显示正好为5个字符的员工的姓名
SELECT EMP.ENAME FROM EMP WHERE LENGTH(EMP.ENAME)=5;

 

13显示示不带有“ R ”的员工的姓名
SELECT EMP.ENAME FROM EMP WHERE EMP.ENAME NOT LIKE '%R%';

 

14显示所有员工姓名的前三个字符
SELECT EMP.ENAME,SUBSTR(EMP.ENAME,1,3) FROM EMP;//显示所有员工姓名的前三个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值