sql函数解析 oracle 数据库语言

本文详细介绍了SQL查询的基本语法,包括SELECT、WHERE、GROUP BY、HAVING和ORDER BY等,涵盖了数据类型、函数、操作符、模糊查询和自定义函数的使用。掌握这些,提升你的数据库查询能力。
摘要由CSDN通过智能技术生成

查询
┌简单查询┌语法 SELECT 列1,列2... FROM 表 
│        ├注释 --单行注释 /*多行注释*/
│        ├类型┌数值型 NUMBER         直接写
│        │    ├字符型 CHAR VARCHAR2  '单引号'
│        │    └日期型 DATE           DATE'年-月-日'
│        └别名┌表别名 SELECT 列1,列2... FROM 表 表别名
│              └列别名 SELECT 列1 [AS] 列别名,列2... FROM 表 
├限定查询┌语法 SELECT 列1,列2... FROM 表 WHERE 条件(表达式)
│        ├操作符┌比较大小的运算符 > < >= <= = != <>
│        │      ├逻辑运算符 AND OR NOT
│        │      ├BETWEEN 小值 AND 大值
│        │      ├IN(值1,值2,值3...)
│        │      ├算数运算符 + - * / 
│        │      ├连接符 ||
│        │      └空 IS NULL IS NOT NULL
│        ├隐式转换
│        ├优先级   
│        └转义┌双写 ''''
│              ├Q'{'}'
│              └模糊查询 ESCAPE '\'
└模糊查询┌语法 SELECT 列1,列2... FROM 表 WHERE 列 LIKE '匹配的内容' --模糊查询属于限定查询
          └通配符 % _
·函数
┌系统函数┌单列函数┌数值函数┌ABS(数) 绝对值
│        │        │        ├MOD(数1,数2) 取余
│        │        │        ├CEIL(数) 向上取整
│        │        │        ├FLOOR(数) 向下取整
│        │        │        ├ROUND(数1[,数2]) 四舍五入
│        │        │        ├TRUNC(数1[,数2]) 截断
│        │        │        └POWER(数1,数2) 幂运算
│        │        ├字符函数┌UPPER(STR) 转大写
│        │        │        ├LOWER(STR) 转小写
│        │        │        ├INITCAP(STR) 转首字母大写
│        │        │        ├LENGTH(STR) 求字符长度 LENGTHB(STR)字节
│        │        │        ├TRIM(STR) 去两端空格 
│        │        │        ├LTRIM(STR1[,STR2])去左端字符 RTRIM(STR[,STR2])去右端字符
│        │        │        ├LPAD(STR1,数,STR2)左填充 RPAD(STR1,数,STR2)
│        │        │        ├INSTR(STR1,STR2[,数1[,数2]]) 字符串的位置
│        │        │        ├SUBSTR(STR,数1[,数2]) 截取字符串
│        │        │        ├REPLACE(STR1,STR2[,STR3]) 整体替换
│        │        │        ├TRANSLATE(STR1,STR2,STR3) 逐一替换
│        │        │        └CONCAT(STR1,STR2) 连接字符串 ||
│        │        ├日期函数┌SYSDATE 当前系统时间
│        │        │        ├ADD_MONTHS(日期,数) 日期加减月份
│        │        │        ├MONTHS_BETWEEN(日期1,日期2) 相差的月份数
│        │        │        ├NEXT_DAY(日期,星期几/对应的数字) 下个星期几
│        │        │        ├LAST_DAY(日期) 当月的最后一天
│        │        │        ├ROUND(日期,'格式')四舍五入,返回最近的日期之初
│        │        │        └TRUNC(日期,'格式')截取到日期之初
│        │        ├转换函数┌ASCII(STR) 字符转成阿斯克码--字符函数
│        │        │        ├CHR(数) 阿斯克码转成字符 --数值函数
│        │        │        ├TO_DATE(STR,'格式') 字符转成日期
│        │        │        ├TO_NUMBER(STR) 纯数字字符转成数值
│        │        │        └TO_CHAR┌(参) 参数转成字符
│        │        │                 ├(日期,'格式') 日期转成字符--提取日期中的元素
│        │        │                 └(数,'格式') 数值转成字符--转成格式化数字
│        │        └通用函数┌USERENV('language') 客户端字符集
│        │                 ├COALESCE(参1,参2...)多个参数中第一个不为空的值
│        │                 ├DISTINCT 列1,列2... 去重
│        │                 ├CASE WHEN┌①CASE 列 WHEN 列中值1 THEN 值1
│        │                 │         │          WHEN 列中值2 THEN 值2...
│        │                 │         │          [ELSE 值N] END
│        │                 │         └②CASE WHEN 条件1 THEN 值1
│        │                 │                  WHEN 条件2 THEN 值2...
│        │                 │                  [ELSE 值N] END
│        │                 ├DECODE(列,列中值1,值1,列中值2,值2...[值N])
│        │                 └NVL(参1,参2) 参数1的空处理成参数2
│        ├ 聚合函数 ┌MAX(列) 最大值
│        │(分组函数)├MIN(列) 最小值
│        │          ├SUM(列) 求和
│        │          ├AVG(列) 平均值
│        │          ├COUNT(列|*|值) 计数
│        │          ├[WMSYS.]WM_CONCAT(列) 分组连接字符串
│        │          └LISTAGG(列,'分隔符')WITHIN GROUP(ORDER BY 列) 分组连接字符串
│        └--分析函数
└自定义函数

执行顺序
SELECT   --5   后加要查询的字段,可以用函数,可以是一个值
FROM     --1   数据来源,一般是表或视图
WHERE    --2   分组前的筛选条件,多个条件用逻辑符连接,注意优先级
GROUP BY --3   字段名,要按照哪个字段分组
HAVING   --4   分组后的筛选条件
ORDER BY --6   排序,加字段名或数字,数字表示第几个字段


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值