Oracle复习知识点汇总

Oracle认证考试由Oracle公司授权国际考试认证中心对考生进行资格认证的。那么Oracle认证考试复习要点有哪些呢?下面跟yjbys小编一起来学习吧!

Oracle复习知识点汇总

desc emp; 显示emp表的结构

select count(*) FROM emp; 统计记录条数 count(*)是统计函数

SELECT * FROM emp; 查询所有的列

SELECT ename,hiredate FROM emp; 查询员工的入职时间(投影)

SELECT ename,sal AS Salary,job FROM emp; 查询员工的sal,显示为Salary---------结果是显示为SALARY

SELECT ename,sal "Salary",job "Job" FROM emp; 更改5为如此,as可以省略

  ******************select 子句的功能****************

SELECT ename,sal,sal*12 "Year_Salary" FROM emp; 查询员工的年薪,显示为Year_Salary

SELECT ename,sal,comm,sal+comm "Month_sal" FROM emp; 查询员工月总酬劳(月薪+奖金)-------结果出现NULL

SELECT ename,sal,nvl(comm,0) "Comm",sal+nvl(comm,0) "Month_sal" FROM emp; 更改点7,nvl(列名,值)表示如果该字段为NULL则把它转换为该值

SELECT ename || ' works as '|| job "work" FROM emp; ||为连接表达式,可随意连接额外的字符-------注意:额外字符要用''括起来

SELECT distinct job FROM emp; distinct作用是去掉重复值

  ***************where 子句的功能******************

SELECT ename,deptno,job from emp where deptno=&no; 利用绑定变量的形式查询不同部门的员工姓名,所在部门,职位;&no是我们待输入的值

SELECT ename,job FROM emp WHERE sal between &sal1 and &sal2 需要多少个参数就定义多少个变量

SELECT ename,sal,job FROM emp where job='MANAGER';查询职位是“MANAGER”的职员信息-----注意:=后要用' ',表中的数据有大小写区分

SELECT ename,sal FROM emp where sal between 1500 and 3000; 的用法,查询工资在1500~3000员工信息;取反为:not between

SELECT ename, deptno,job from emp where deptno=10 or deptno=20; or的用法,只要一个满足条件就显示

SELECT ename, deptno,job from emp where job in('MANAGER','ANALYST'); 14、in的用法,可代替or,只要满足括号里的一个字段就显示;取反为:not in

SELECT ename,job from emp where ename like 'M%' like用作模糊查询,%表示0或多个字符,_表示任意单个字符,如'_M%'则表示第二个字符为M的字段;取反为:not like

SELECT ename,job from emp where ename like 'A_%' ESCAPE ''; 显示以A_***格式的字段,escape表示后面的字符不作为通配符来用

SELECT ename,comm FROM emp where comm is NULL; 查询没有奖金的员工,即comm为空,不可以写为comm=null;取反:is not null

SELECT ename,job FROM emp WHERE job <> 'SALESMAN'; 查询职位表示SALESMAN的员工,<>表示为不等于

SELECT ename,sal,deptno FROM emp WHERE sal>=1000 and deptno=10 or deptno=20; 先对A和B求交集,再和C求并集

SELECT ename,sal,deptno FROM emp WHERE sal>=1000 and (deptno=10 or deptno=20); 先对B和C求并集,再和A求交集

Alter session set nls_language='AMERICAN'; 转换为英文环境

Select *from emp where hiredate between '01-JAN-81' and '31-DEC-81'; 查询入职年份为1981的员工信息

  ***************order by子句的功能***************************

正序(asc)是从小到大,倒序(desc)是从大到小

SELECT ename,sal,deptno

SELECT ename,sal,deptno FROM emp order by deptno,sal DESC; 先对deptno进行正序排序(asc省略了),后对sal进行倒序(DESC)排序

desc dual; dual是一个虚表,只有一个字段

select * FROM dual;

  ***********************单行函数**************************

  *******1、字符函数*******

SELECT lower('Sql Server') from dual; lower()转换为小写

SELECT initcap('sql server') FROM dual; initcap()首字母大写

SELECT * FROM emp WHERE upper(ename)='SCOTT'; upper()转换为大写,在不知道其数据的大小写情况下使用方便

SELECT concat('hello', 'world') from dual;concat()连接字符串

SELECT substr('helloworld', 3, 3) FROM dual; substr(字符串,开始位置,截取长度)截取子串,从1开始算

SELECT length('helloworld') FROM dual; length()求字符串长度

SELECT lpad('hello',10,'#') FROM dual; lpad(原字符串,设置的总长度,定义字符),不足总长度就左边补字符

SELECT rpad('hello',10,'#') FROM dual; rpad(原字符串,设置的总长度,定义字符),不足总长度就右边补字符

  *******2、数字函数********

SELECT round(45.678,2) from dual; round()四舍五入,默认有效位为0---------特例,当有效位为-1,结果是50

SELECT trunc(45.678,-1) FROM dual; trunc()截取----------- 特例,当有效位为-1,结果是40

select mod(16,5) FROM dual; mod()取模,相当于C语言中的%运算符,如16%5=1

  *******3、日期函数********