sql的个人笔记

一,逻辑操作符

ISNULL

XXXXXX where name is null
名字为空的人

BETWEEN

xxxxx where salary between '20000' and '40000'
薪水在两万到四万之间的

IN

where salary in ('10','20','30' )
薪水在10,20,30 的

LIKE

通配符有两个
%百分号
_下划线
where salary like '200%'匹配200开头的
where salary like '%200%'匹配包含200的
where salary like '_00%'匹配第二个第三个字符是00的
where salary like '2_%_%'匹配2开头的并且长度至少为3的
where salary like '%2'匹配以2结尾的
where salary like '_2%3'匹配第二位是2结尾是3的
where salary like '2___3'匹配长度为5开头2结尾3的

EXISTS

where exists (select name from username where name=wang)
搜索表里满足特定条件的记录
为子查询

ALL,SOME和AYN

select * from class where cost > all (select cost from class where cost<10);
查询所有在class中的cost大于(所有在calss中cost小于10的和)的值

select * from class where cost > ayn(select cost from class where cost<10);
查询所有比cost小于10 的任意一个值大的值 相当于比括号里任意一个值大就行,
some和ayn 一样可以相互替换。

NOT 求反就是反着来

二,函数

串接函数

例如吧John和son串接
Oracle:
select ‘John’ || ‘son’
sql server:
select ‘john’ + ‘son’
mysql:
select concat(‘john’,‘son’)

translate函数(查找替换)

SELECT translate(‘azhangsan’,‘a’,‘b’) FROM users
有问题

replace(替换)

SELECT REPLACE(username,‘b’,‘a’) FROM users
把username中的b替换成a

upper(换大写函数)

把字符串中的小写换成大写

lower(换小写函数)

小写换大写

substr(截取)

SELECT SUBSTR(username,1,3) FROM users
'1’为起始字符
'3’为截取长度
好像不从0开始数

instr(查找)

SELECT INSERT(username,‘a’,1,1) FROM users
字母a 第一次出现的位置

ltrim(减除左边字符)

select itrim(name,‘abc’) from users
减除name 中左边abc字符

rtrim(减除右边字符)

同上

decode(查找回显)

主要用于 oracle,postgresql
select decode(‘azhangsan’,yes)from users
查找azhangsan ,有就回显yes,没有就回显other

length(回显字符长度)

ifnull(检查Null值,有就替换)

coalesce(同上,区别是可用数据集)

lpad(在左边填充)

lpad(username,30,’.’)
用点填充到30个字符

rpad(同上)

ascll(替换成ascll值)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值