关于oracle自带的表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于oracle自带的表***********************************8

emp:

empno:员工编号;ename:员工名字;job:员工工种;mgr: 上司;hiredate:入职时间;sal:基本工资;comm:补贴;deptno:所属部门编号;

dept:

deptno:部门编号;dname:部门名称;loc:地理位置;

salgrade:

grade:工资等级;losal:最低限额;hisal:最高限额;

dual:

系统自带的一张空表;可用于计算数据:select 2*3 from dual;

**sql_function1**********************************************************

select lower(ename) from emp; 取出的名字全部变成小写。

select ename from emp where lower(ename) like '_a%';取出的名字变成小写后不含字母a

select substr(ename, 2, 3) from emp;从第二个字符截,截取三个字符。

select cha(65) from dual; 将数字转化为字符(显示为a)。

select ascii('A') from dual; 将字符转化为数字。

select round(23.652) from dual; (显示24)

select round(23.652, 2) from dual; (显示23.65)

select round(23.652, -1) from dual; (显示20)

select to_char(sal, '$99,999.9999')from emp;强制转化为指定的格式。

select to_char(sal, 'L0000.0000')from emp;同上。

select to_char(hiredate, YYYY-MM-DD HH:MI:SS) from emp; 对时间格式显示处理。

select to_char(sysdate, YYYY-MM-DD HH:MI:SS) from emp; 12进制。

select to_char(sysdate, YYYY-MM-DD HH24:MI:SS) from emp; 24进制。

***********************************************************************

**sql_function2*******************************************************

select ename, hiredate from emp where hiredate > to_date('1981-2-20' 12:34:52, 'YYYY-MM-DD HH24:MI:SS'); 函数to_date 将字符转化为时间格式。

select sal from emp where sal > to_number('$1,250.00', '$9,999.99'); 函数to_number将字符转化为数字格式,以作比较。

select ename sal*12 + nvl(comm 0) from emp; 函数nvl作用为当comm为null的时候当作处理,避免了comm为null给结果带来的不便。

*************************************************************************

**group_function*******************************************************

select max(sal) from emp;输出薪水值最高的。

select min(sal) from emp;输出薪水值最低的。

select avg(sal) from emp;输出平均薪水值。

select to_char(avg(sal),'99999999.99') from emp;按照指定格式输出平均薪水值。

select round(avg(sal),2) from emp; 精确到小数点后面2位。

select sum(sal) from emp; 输出薪水值的总和。

select count(*) from emp;求出一共有多少条记录。

select count(*) from emp where deptno = 10; 求部门为10号的记录条数。

select count(ename) from emp; 求一共有几个名字。

select count(comm) from emp; 求非空comm的记录条数。

select count(deptno) from emp;

select count(distinct deptno) from emp;

*************************************************************************

**group_by*************************************************************

select deptno, avg(sal) from emp group by deptno; 将部门薪水平均分组。

select deptno, job, max(sal) from emp group by deptno; 按组合分组。

select ename, max(sal) from emp where sal = (select max(sal) from emp);

select ename max(sal) from emp group by deptno; 这样是错误的。

select deptno max(sal) from emp group by deptno; 这样可行。

************************************************************************

**having****************************************************************

select avg(sal), deptno from emp group by deptno;

select avg(sal), deptno from emp group by deptno having avg(sal) > 2000; having是对分组进行限制。

1 select avg(sal) 选择

2 from emp 表原

3 where sal > 1200 条件过滤

4 group by deptno 分组

5 having avg(sal) > 1500 对结果进行限制

6 order by avg(sal) desc 对产生的结果进行排序

**********************************************************************

相关文档
最新文档