oracle培训

今天公司培训了下oracle,记了下,以便查看
1.用户解锁:ALTER USER “hr” ACCOUNT UNLOCK ;
2.null
考虑两种情况 运算结果为null where条件中含有null

AND 0 1 null
0 null
1 null
null null null null

OR 0 1 null
0 null
1 1
null null 1 null

NOT
0 1
1 0
null null
null在oracle中默认为无限大
count(字段名) 字段值为空的不计数
3.字段名as加“”可以维持大小写
4.informix没有between ... and ...
5.like 's%' 如果在前面加%则索引不起作用
6.where条件中优先级NOT>AND>OR
7.虚拟表dual,该表中有一个字段,总是只能允许一条数据存在。
常用来校验函数
8.比较日期,根据具体情况使用trunc,oracle默认按天处理日期
9.注:NULL和0不同,NULL表示为空(未知),0表示为0(以知)

NVL 函数: 将空值替换为指定的值.
  NVL ( exp1, exp2 )
如果exp1为空,则返回exp2, 反之返回exp1.
例:Select NVL( NULL, 0 ), NVL( 'aa', 1 ) From dula
结果: 0 和 aa

NVL2 函数: 将空值替换为指定的值.
  NVL 2( exp1, exp2, exp3 )
如果exp1为空,则返回exp2, 反之返回exp3.
例:Select NVL( NULL, 0, 1 ), NVL( 'aa', 0, 1 ) From dula
结果: 0 和 1
10.Decode 函数:将值进行替换

Select Decode ( 比较列名, 比较值, 替换值, 比较值2, 替换值2,…… ) From 表名

例:Select venname, Decode( vencode, '001', 'aaa', '002', 'bbb', '003', 'ccc' ) From vendor_master
结果:Pro aaa
Wind bbb
Kof ccc
Fly 004

注: 001, 002, 003被aaa,bbb,ccc替换
11.自连接
SELECT employee.FIRST_NAME || ' work for ' || manager.LAST_NAME as "title"
FROM HR.EMPLOYEES employee, HR.EMPLOYEES manager
where employee.EMPLOYEE_ID=manager.MANAGER_ID
GO

title
----------------------------
Steven work for Kochhar
Steven work for De Haan
Lex work for Hunold
Alexander work for Ernst

12.组函数计算顺序
select departmentid,count(*)
from employee
where salary>4000
group by deparmentid
having count(*)>2
order by deparmentid asc
where>group>count>having>order by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值