oracle学习一 基础知识

1.DML语言 (data manipulation language)数据库操作语言 Insert ,Update,Delete,Merge

2.DDL语言 (data definition language)数据库定义语言 Create,Alter,Drop,Truncate

3.DCL语言 (Data Control Language)数据库控制语言 Grant ,Revoke

4.事物控制语句 Commit ,Rollback, Savepoint

5.模糊查询 

%表示零或多个字符    _ 表示一个字符

对于特殊字符可使用ESCAPE 标识符来查找   select * from emp where ename like '%*_%'escape'*';

上面的escape表示后面的那个符号不当成特殊字符处理,就是查找普通的_字符

6.逻辑运算符 or and not

1. 找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)

select * from emp where (deptno = 10 and job = 'MANAGER') or (deptno = 20 and job = 'CLERK');

2. 找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工

select * from emp where deptno = 10 and job not in ('MANAGER','CLERK') and sal >= 2000;

3.找出有奖金的员工的不同工作 ---使用消除重复行关键字distinct , comm (奖金)

select distinct job from emp where comm is not null and comm > 0;

4.找出没有奖金或奖金低于500的员工 ---is null 空值

select * from emp where comm < 500 or comm is null;

5.显示雇员姓名,根据其服务年限(hiredate),将最老的雇员排在最前面

select ename from emp order by hiredate;

7.字符函数

1.Upper(将匹配的字符串转化成大写)

select Upper ('abcde')  from dual; --- ABCDE

select * from emp where ename = UPPER('smith');

2.Lower (将匹配的字符串转化成小写)

select lower('ABCDE') from dual; --- abcde

3.Initcap (是将每个单词的首字母大写其他字母小写)

select initcap('hello world') from dual; --- Hello World

4.concat 连接函数

select cancat('a','b') from dual ; 等价于 select 'a'||'b' from dual;

5.substr 截取字符串函数

select substr('abcde',length('abcde')-2) from dual;

select substr('abcde',-3,3) from dual;

6.length

select length('abcde') from dual;

7.replace

select replace(ename,'a','A') from dual;

8.Instr (可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符,在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。)

select instr('Hello World','or') from dual; -- 8 indexof

9.Lpad (从左边对字符串使用特定的字符填充) 

语法 (lpad(string,padded_length,[pad_string]))  string 准备填充的字符串 padded_length 填充后字符串的长度 pad_string 填充字符

lapd('smith',10,'*') 左侧填充 -- *****smith;

10.Rpad 右侧填充

rpad('smith',10,'*') 右侧填充 -- smith*****;

11.trim ---类似于string 的trim()方法 去除字符串的前后空白

trim('    mr Smith    ') from dual ; --- mr Smith;

8.数值函数

1.round 四舍五入函数

select round(412,313,2) from dual;

2.mod 取余函数

select mod(45,4) from dual;

3.trunc 返回处理后的数值

select trunc(412.13,-2) from dual;

9.日期函数

1.Months_between() 返回两个时间内的月份数

select months_between(sysdate,hiredate) from emp;

2.add_months() 该函数在输入日期上加上指定的几个月返回一个新的日期,如果给出一负数,返回值日期之前几个月的日期

select add_months(sysdate,1) from dual;

3. next_day() 返回指定下个星期几的日期

select next_day(sysdate,'星期一') from dual;

4.last_day() 返回指定日期所在月份的最后一天

select last_day(sysdate) from dual;

10.转换函数

1.to_char()

select to_char(sysdate,'yyyy') from dual;

select to_char(sysdate,'yyyy-mm-dd') from dual;

select to_char(sysdate,'D') from dual ;返回星期

2.to_number()

select to_number('13') + to_number('14') from dual;

3. to_date()

select to_date('20090210','yyyy-mm-dd') from dual;

11.通用函数

1.nvl()函数

select nvl(comm,0) from dual;

2.nullif()函数 如果表达式exp1与表达式exp2的值相等则返回null否则返回exp1的值

3.nvl2()函数

select empno,ename,sal,comm,nvl2(comm,sal+comm,sal) total from dual;

如果comm 为null 返回sal 否则返回sal+comm

4.coalesce() 依次考察各参数表达式,遇到非null值即停止并返回该值

select empno,ename,sal,comm,coalesce(sal+comm,sal,0)总收入 from emp;

5.case表达式

select empno,ename,sal

case deptno

when 10 then '服务部'

when 20 then '研发部'

when 30 then '销售部'

else '未知部门'

end 部门

from emp;

5.decode()函数和case() 表达式类似,decode()函数也用于实现分支结构

select empno,ename,sal

decode(deptno,10,'服务部',20,'研发部',30,'销售部','未知部门')部门 from emp;




-----以上均是站在巨人的肩膀上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值