SQL简单函数

SQL
  1. 查询语句
  • 字符串链接
select column1 || " is a "|| column2
from table1
  • 去重复
distinct

2.条件限制与排序
  • 比较操作符
单一比较 = ,> , >= , <>
范围比较 betwen...and... , in(set) , like '_%' (escape) , is null
  • 逻辑符
and , or , not
  • 排序
order by asc(default ) / desc

3.单行函数
  • 字符函数

( lower()小写, upper()大写, initcap()首字母大写, concat(,)连接字符串, substr(,,) 从某位截取数位, instr() 插入, lpad/rpad(,,'*') n位前/后补*, trim()去空格, replace() 代替 )

  • 数字操作函数

round(45.235,2) - 45.24
trunc(45.235,2) - 45.23
mod(16,3) - 1
  • 日期操作函数
  • 类型转换函数
to_char(date,'format_model') 转换日期-字符串
to_char(number,'format_model') 转换数字-字符串
to_number() 字符串-数字 to_date(char,'yyyy-mm-dd'') 字符串-日期

YY与RR 区别 YY 表示本世纪年份 17 - 2017 96 - 2096
RR 表示所处上半世纪与上世纪下半世纪 17 -2017 96-1996
或所处下半世纪与下世纪上半世纪 现在为2096 17-2117 96-2096
  • 函数嵌套
可多重嵌套 MAX(AVG( ))

  • 其他单行函数
NVL(exp1,exp2) exp1为空,则返回exp2,否则返回空
NVL(exp1,exp2,exp3) exp1为空,则返回exp3,否则返回exp2
NULLIF(exp1,exp2) exp1=exp2则返回空
COALESCE(exp1,exp2,....) 找到第一个不为空值,并返回,找不到则返回null
  • 条件表达式

case exp when .... then...
when .... then...
else...
end
decode(exp, search1,result1,
search2,result2,
....default)

4.多表关联查询
  • Oracle 定义连接类型
等于链接,不等链接,左外连接(左为主,右补全),右外连接,自联结
  • 工业标准SQL1999定义连接
交叉连接 cross join,自然连接 natural join (Using 指定一列,类似等于连接),
内链接 inner join... on ...(相当于自然连接) ,左/右外连接 left/right/full outer join...on...

5.分组计算函数
GROUP BY
  • 常用函数
计算数值: SUM(),AVG(),COUNT(),STDDEV()标准差,VARIANCE()方差
计算数值,日期等: MAX(),MIN()
  • COUNT()
COUNT(*)/COUNT(1) 行数,包括重复,空
COUNT(exp) 满足exp且不含空
COUNT(DISTINCT exp) 不重复
  • 多字段分组
GROUP BY exp1, exp2, ... 非函数字段必须分组
分组时,需将WHERE 转化为HAVING 现已不需要

6.子查询
单行对单行查询 = , > , <
多行对多行查询 IN(同 = ANY) , >ANY , >ALL

7.DML语句
DATE MANIPULATION LANGUAGE
  • INSERT
INSERT INTO table
VALUES ( , )
  • UPDATE
UPDATE table
SET column = value
  • DELETE
DELETE column FROM table WHERE ...(类似select)
  • MERGE 比较整合语句


8.表操作
CREATE TABLE tablename
( column datatybe constraint )
表内的数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值