单行函数
也称单值函数,没操作一行数据,都会返回一个结果
聚合函数:也称多行函数,分组函数,组函数。
操作多行数据,并返回一个结果,一般结合 group 分组来使用
转换函数:可以将一个类型的数据转换为另一种类型的数据
哑表(dual)
只有 oracle 才有
单行单列的虚拟表,主要用来选择变量或求一个表达式的值
字符函数
ASCII(X):返回字符 X 的 ASCII 码
CONCAT():连接字符串 X 和 Y
INSTR(X,str,index):在 X 中 查找 str ,可从指定位置开始
INITCAP(X):X 首字母转换为大写,其他字母小写
LTRIM(X,str):左截去某个字符,缺省为空格
RTRIM(X,str):右截去某个字符,缺省为空格
TRIM(X,str):左右截去某个字符,缺省为空格
REPLACE(X,old,new):替换
SUBSTR(X,index1,index2):截取
日期函数
MONTHS_BETWEEN:两个日期之间相差多少个月
ADD_MONTHS:返回一个日期数据,表示一个时间点往后推 X 月的日期
NEXT_DAY:返回一个日期数据,表示一个时间点的下一个星期几在哪一天
LAST_DAY:返回一个日期数据,表示一个日期所在月份的最后一天
ROUND:对日期进行四舍五入
TRUNC:对日期截取
转换函数
主要有:TO_CHAR:把一个数字或日期数据转换为字符
TO_NUMBER:把字符转换为数字
TO_DATE:把字符转换为日期
多表查询
笛卡尔积
两个集合的笛卡尔积,又称直积,表示为 X * Y
等值连接
利用一张表中某字段的值,和另一张表中某列的值相等的关系,把表连接起来。
不等值连接
外连接
左外连接:以左表为主表,主表中即使不满足 on 的条件也会被显示出来
右外连接:以右表为主表,主表中即使不满足 on 的条件也会被显示出来
全连接:将不满足条件的行也显示出来
自连接:就是对于一张表,自己连接自己
操作结果集
union:两个结果的并集
union all:两个结果集 合在一起显示
minus:第一个结果集减去第二个结果集
intersect:求两个结果的交集
rownum(伪列)
就像表中的列一样,但是在表中并不存在
只能用于查询。核心作用:完成分页查询。
- 如果是相同的条件,那么伪列只能等于1
- 如果是大于的条件,那么伪列只能大于0
- 可以小于任何数