Oracle EMP表查询实现分析(oracle emp查询)

Oracle EMP表查询实现分析

EMP表是Oracle系统中自带的一个样例表,它包含了员工的基本信息,比如员工编号、姓名、工资等。在实际开发过程中,我们经常需要通过对EMP表的查询来实现业务逻辑的处理。本文将就如何实现EMP表的查询进行简要分析,并提供相关代码,以供读者参考。

一、EMP表的结构

EMP表包含了14个字段,分别是EMPNO、ENAME、JOB、MGR、HIREDATE、SAL、COMM、DEPTNO等。其中,EMPNO为员工编号,是EMP表的主键;ENAME为员工姓名;JOB为员工职位;MGR为上级主管编号;HIREDATE为入职日期;SAL为员工基本工资;COMM为员工佣金;DEPTNO为员工所在部门编号。EMP表的结构如下所示:

EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO

——+——+———+—–+———-+——-+——-+——-

7369 | SMITH | CLERK | 7902| 1980/12/17| 800 | null | 20

7499 | ALLEN | SALESMAN| 7698| 1981/2/20 | 1600| 300 | 30

7521 | WARD | SALESMAN| 7698| 1981/2/22 | 1250| 500 | 30

7566 | JONES | MANAGER | 7839| 1981/4/2 | 2975| null | 20

7654 | MARTIN | SALESMAN| 7698| 1981/9/28 | 1250| 1400 | 30

7698 | BLAKE | MANAGER | 7839| 1981/5/1 | 2850| null | 30

7782 | CLARK | MANAGER | 7839| 1981/6/9 | 2450| null | 10

7788 | SCOTT | ANALYST | 7566| 1982/12/9 | 3000| null | 20

7839 | KING | PRESIDENT| null| 1981/11/17| 5000| null | 10

7844 | TURNER | SALESMAN| 7698| 1981/9/8 | 1500| 0 | 30

7876 | ADAMS | CLERK | 7788| 1983/1/12 | 1100| null | 20

7900 | JAMES | CLERK | 7698| 1981/12/3 | 950 | null | 30

7902 | FORD | ANALYST | 7566| 1981/12/3 | 3000| null | 20

7934 | MILLER | CLERK | 7782| 1982/1/23 | 1300|null | 10

二、基本查询

要查询EMP表中的数据,最基本的select语句如下:

SELECT * FROM EMP;

运行后,可以看到EMP表中所有的数据。如果只想查看某几个字段的数据,可以使用如下的select语句:

SELECT EMPNO, ENAME, JOB, SAL FROM EMP;

执行后,输出结果如下所示:

EMPNO | ENAME | JOB | SAL

——+——+———+——-

7369 | SMITH | CLERK | 800

7499 | ALLEN | SALESMAN| 1600

7521 | WARD | SALESMAN| 1250

7566 | JONES | MANAGER | 2975

7654 | MARTIN | SALESMAN| 1250

7698 | BLAKE | MANAGER | 2850

7782 | CLARK | MANAGER | 2450

7788 | SCOTT | ANALYST | 3000

7839 | KING | PRESIDENT| 5000

7844 | TURNER | SALESMAN| 1500

7876 | ADAMS | CLERK | 1100

7900 | JAMES | CLERK | 950

7902 | FORD | ANALYST | 3000

7934 | MILLER | CLERK | 1300

三、条件查询

如果只想查询满足某个条件的数据,可以在select语句后面加上where子句,下面是一个查询入职日期在1981年以前的员工的语句:

SELECT * FROM EMP WHERE HIREDATE

查询结果如下所示:

EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO

——+——+———+—–+———-+——-+——-+——-

7369 | SMITH | CLERK | 7902| 1980/12/17| 800 | null | 20

7566 | JONES | MANAGER | 7839| 1981/4/2 | 2975| null | 20

7698 | BLAKE | MANAGER | 7839| 1981/5/1 | 2850| null | 30

7782 | CLARK | MANAGER | 7839| 1981/6/9 | 2450| null | 10

7788 | SCOTT | ANALYST | 7566| 1982/12/9 | 3000| null | 20

7839 | KING | PRESIDENT| null| 1981/11/17| 5000| null | 10

7876 | ADAMS | CLERK | 7788| 1983/1/12 | 1100| null | 20

7902 | FORD | ANALYST | 7566| 1981/12/3 | 3000| null | 20

7934 | MILLER | CLERK | 7782| 1982/1/23 | 1300| null | 10

四、排序查询

如果希望按照某个字段的升序或降序进行排序,可以使用order by子句。下面是以部门编号为升序排列,工资为降序排列的语句:

SELECT * FROM EMP ORDER BY DEPTNO ASC, SAL DESC;

查询结果如下所示:

EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO

——+——+———+—–+———-+——-+——-+——-

7934 | MILLER | CLERK | 7782| 1982/1/23 | 1300| null | 10

7782 | CLARK | MANAGER | 7839| 1981/6/9 | 2450| null | 10

7839 | KING | PRESIDENT| null| 1981/11/17| 5000| null | 10

7900 | JAMES | CLERK | 7698| 1981/12/3 | 950 | null | 30

7654 | MARTIN | SALESMAN| 7698| 1981/9/28 | 1250| 1400 | 30

7499 | ALLEN | SALESMAN| 7698| 1981/2/20 | 1600| 300 | 30

7844 | TURNER | SALESMAN| 7698| 1981/9/8 | 1500| 0 | 30

7902 | FORD | ANALYST | 7566| 1981/12/3 | 3000| null | 20

7788 | SCOTT | ANALYST | 7566| 1982/12/9 | 3000| null | 20

7876 | ADAMS | CLERK | 7788| 1983/1/12 | 1100| null | 20

7566 | JONES | MANAGER | 7839| 1981/4/2 | 2975| null | 20

7369 | SMITH | CLERK | 7902| 1980/12/17| 800 | null | 20

7698 | BLAKE | MANAGER | 7839| 1981/5/1


数据运维技术 » Oracle EMP表查询实现分析(oracle emp查询)