论坛首页 入门技术论坛

Oracle 10g 基础练习题

浏览 2042 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-10-04   最后修改:2010-10-05

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;//显示所有员工姓名的前三个字符

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics