sql常用函数汇总(基础、高级)

【操作符】=  等于,<>不等于,>,<,>=,<=,between在某个范围内,like搜索某种模式;

【其它】数值不加单引号,文本加单引号;and/or; order by 默认升序,降序desc; insert into; update set; delete; top; in; between and; 

select into ...from...用于复制????没用过

【通配符】必须与like连用;%替代1/多个字符,_仅替代1个字符,[charlist]字符列中任意单一字符,[^charlist]或[!charlist]不在字符列中的任一单一字符

【表关联】inner join=join,内连接,返回俩表的交集;left join返回左表所有行,以左表为准;right join返回右表所有行,以右表为准;full join返回俩表所有的行

【数据类型】不同数据库支持的类型不完全相同

Mysql中三大类:文本、数字、日期

【计算函数】min(),max,avg,mid,first(),last(),count,sum,ucase()转换成大写,lcase()转换成小写,len(),

round(),now()返回当前时间,format()格式化

【嵌套、约束、索引、视图】嵌套/子查询一个意思;

约束:用于限制表的一些数据类型,包括NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT

索引:见{sql性能优化专题}

视图:基于 SQL 语句的结果集的可视化的表,主要有创建视图、更新视图、撤销视图

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

DROP VIEW view_name

【高级函数】

1.累加函数

2.窗口函数over()

参考http://blog.csdn.net/mfkpie/article/details/16364513

与聚集函数一样,窗口函数也针对定义的行集(组)执行聚集,但它不像聚集函数那样每组之返回一个值,窗口函数可以为每组返回多个值。实际上,DB2中称这种函数为联机分析处理OLAP函数,而Oracle把它们称为解析函数,但ISO SQL标准把它们称为窗口函数。窗口函数一般在OLAP分析、制作报表过程中会使用到。一定要注意:在SQL处理中,窗口函数都是最后一步执行,而且仅位于Order by字句之前。另外partition by字句的优点是:在同一个select语句中,一个窗口函数的计算独立于按其他列分区的其他窗口函数的计算。

窗口函数是对一组值进行操作,不需要使用GROUP BY 子句对数据进行分组,还能够在同一行中同时返回基础行的列和聚合列。举例来说,我们要得到一个年级所有班级所有学生的平均分,按照传统的写法,我们肯定是通过AVG聚合函数来实现求平均分。这样带来的”坏处“是我们不能轻松地返回基础行的列(班级,学生等列),而只能得到聚合列。因为聚合函数的要点就是对一组值进行聚合,以GROUP BY 查询作为操作的上下文,由于GROUP BY 操作对数据进行分组后,查询为每个组只返回一行数据,因此,要限制所有表达式为每个组只返回一个值。而通过窗口函数,基础列和聚合列的查询都轻而易举。(参考https://www.cnblogs.com/jeffwongishandsome/archive/2010/12/04/1896672.html)

窗口函数:

聚合函数 over()

聚合函数 over(partition by 字段)—分区

聚合函数 over(order by 字段)--框架字句

3.分析函数

4.排名函数row_number()

ROW_NUMBER(), RANK(),DENSE_RANK()和NTILE()

 

转载于:https://my.oschina.net/u/3575262/blog/1586680

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值