1 SQL语句处理过程以及简单函数整理


数据库标准语言

数据定义语言 DDL 对表的create、ALTER、DROP
数据查询语言 DQL SELECT语句
数据操作语言 DML 对列的insert、UPDATE、DELETE

SQL语句处理过程

在这里插入图片描述

日期类型

Oracle用七个字节来存储日期和时间:世纪、年、月、日、时、分、秒。Date不存在定宽度,就是七个字节。
缺省(默认)日期格式为DD-MON-RR,格式敏感

> SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL; //年中的第几天
> SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL; //月中的第几天
> SELECT TO_CHAR(SYSDATE,'D') FROM DUAL; //星期中的第几天
日期和字符串相互转换

TO_DATE(char,date)函数:将字符串转换成一个日期值。对应Java中parse。
TO_CHAR(DATE,char)函数: 第一个参数为要处理的日期,第二个参数为格式;可获取一个日期的任意一部分信息;对应Java中format。

INSERT INTO tabname(addDate) VALUES(TO_DATE('2020-09-01 15:49:30','yyyy-mm-dd hh24:mi:ss'));
SELECT TO_CHAR(addDate,'yyyy-mm-dd hh24:mi:ss') FROM test;
组函数

count() 不管null,统计"记录"数
count(列名) 返回的是列中非null值得数量
avg(distinct |all |n): 平均值,参数类型只能为number
sum(distinct |all |n): 求和,参数类型只能为number
count(distinct |all|expr |
): 计数,参数类型只能为number、字符、date
max(distinct |all |expr): 最大值,参数类型只能为number、字符、date
min(distinct |all |expr): 最小值,参数类型只能为number、字符、date

distinct 去重复时,会保留一个空,但是count统计时不算

having子句

语法顺序:select   from   where   group by   having   order by
执行顺序: from   where   group by   having   select   order by
执行过程:
行被分组,将having子句的条件应用在每个分组上,只有符合having条件的组被保留,再应用select后面的组函数
对每组的数据进行处理。

where 和 having 区别
  • where: 过滤的是行(记录),后面可跟任意列名,单行函数,不能跟组函数(无法对应到具体记录),先执行,不允许用列别名
  • having: 过滤的是分组(组标识,每组数据的聚合结果),后面只能包含group by后面的表达式和组函数(能表达组信息的),后执行,不允许使用列别名。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值