oracle
基本查询
dual的虚拟表
起别名的规则 特殊字符和空格加双引号 #$除外
null的计算
字符的拼接 concat的函数 oracle特有字符 ||
条件查询
where关键字 跟查询条件
比较运算 > < > >= <= != <>
逻辑运算 and or not
其他运算
in not in 判断范围 范围内可以为一个
like 模糊查询 % 匹配多个或者0个
_ 下划线 占位一个字符
between and 判断区间使用 -- 包涵边界
is null is not null 判断是否为空
排序 注意空值 使用 nulls last
单行函数
数值函数 字符函数 日期函数 转换函数 通用函数 条件表达式 decode
影响单行的记录纸 例如nvl()
多行函数 聚合函数
多条记录参与运算 返回结果是一条记录
sum 求和 avg 求平均数 count 求记录书 max 最大值 min 最小值
数值函数
四舍五入 round(v1 ,v2) v1 计算的数值 v2 保留的小数位数
截取 trunc(v1, v2) v1计算的数值 v2保留的小数位数 不做四舍五入
取模 mod(v1,v2) v1计算的数值 v2 模数 10%3 =1
字符函数
substr(v1,v2,v3) 截取字符串 v1原始字符串 v2开始截取位数 v3 截取的长度
upper()转换大写
lower() 转换小写
length()获取字符串的长度
replace(v1,v2,v3)v1原始字符串 v2被替换字符 v3 替换后字符
日期函数:
sysdate 获取系统事件
add_months 给系统事件增加月份
moths_between(v1,v2) 计算两个日期之间的月数 v1 v2 v3 都是日期格式
转换函数
转换字符 to_char(v1,v2) v1被转换的值, v2 转换格式
转换日期 to_date(v1,v2) v1 被转换字符 v2日期格式
转换数值 to_number()
通用函数
nvl(v1,v2) 判断v1如果为空 返回v2 不为空 返回v1
concat(v1,v2) 两个值的拼接 如果不为空 返回v2 如果为空 返回v1
nvl2(v1,v2,v3)v1判断的值 如果不为空 返回v2 如果为空 返回v3
排序的关键字
order by 列 asc 正序 desc 倒序
分组函数
group by 列
分组后过滤记录使用having
分组之前过滤用where
group by
如果使用rgroup by 那么只能查询聚合函数和group by的列
select 中出现普通的列 如果使用使用group by 那么普通的列必须出现在group后面
条件表达式
if...处理语句
else..if 处理语句
else 所用sql数据通用的表达式
case列
when 值 then 显示值
when 值 then 显示值
when 值 then 显示值
else
end