欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL笔记 —SQL运算符

程序员文章站 2022-06-23 13:20:03
目录1.算术运算符2.比较运算符具体关键字3.逻辑运算符4.位运算符1.算术运算符+-*/或div%或mod /或divselect 100/5,100 div 5 from dual;结果:100/...

1.算术运算符

+ - * /或div %或mod

  /或div

select 100/5,100 div 5 from dual;

结果:

100/5 100 div 5
20.0000 20

注意:/结果是浮点型有结果20.0000,但是div结果是20

取模运算%mod

select 10 % 2,10 % 3,12 mod -4 from dual;

结果:

10 % 2 10 % 3 12 mod -4
0 1 0

2.比较运算符

< > = <=> <>或!= <= >=
小于 大于 等于 安全等于 不等于 小于等于 大于等于

<=>第一次学到比较特殊

select null <=> null,null = null,null != null from dual;

结果:

null<=>null null=null null!=null
1 null null

因此可以得出<=>就是为null而生,其余只要运算中有null结果为null

具体关键字

MySQL笔记 —SQL运算符

is null 等于<=>null 运算及结果一样

isnull is null也一样,但用法有点不一样

select salary from empty where salary is null;
select salary from empty where isnull(salary);
select salary from empty where salary <=> null;

大家在运用过程中最好最好用is null is not null

least()min(),createst()max() 一样,还是建议用min与max

between  条件1 and 条件2  (查询条件1到条件2范围数据,包含边界。条件1是下限,条件2是上限)

select * from emp
where salary between 3000 and 5000;

在emp表查询工资在3000到5000的员工信息

innot in

course表查询选修了(name)数据库,线性代数,概率论的同学信息

select * 
from course
where name in('数据库','线性代数','概率论');
#where name='数据库' or name='线性代数' or name='概率论';

很明显in对多个数据选择更加方便了,如果查不在里面的用not in()即可

like模糊查询 

stu表查询了(name)性刘的同学信息

select *
from stu
where name like'刘%';

在stu表查询了(name)名字包含为刘的同学信息

select *
from stu
where name like'%刘%';

stu表查询了(name)名字包含刘也包含壮的同学信息

select *
from stu
where name like'%刘%' and name like'%壮%';

在stu表查询了(name)名字第二个字为刘的同学信息

select *
from stu
where name like'_刘%';

u表查询了(name)名字第二个为_且第三个字为刘的同学信息(需要使用转移字符\)

select *
from stu
where name like'_\_刘%';

不使用转移字符需要表中用escape(&不是必须的可以用任意字符)

select *
from stu
where name like'_&_刘%' escape '&';

正则表达式:(了解)

regexp运算符用来匹配字符串,语法格式为:expr regexp 匹配条件。如果expr满足匹配条件,返回1;如果不满足,则返回0。若expr或匹配条件任意一个为null,则结果为null。

regexp运算符在进行匹配时,常用的有下面几种通配符:

  • (1)‘^’匹配以该字符后面的字符开头的字符串。
  • (2)‘$’匹配以该字符前面的字符结尾的字符串。
  • (3)‘.’匹配任何一个单字符。
  • (4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。(3.4自我理解跟like差不多)
  • (5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。

3.逻辑运算符

not或! and或&& or或|| xor
逻辑非 逻辑与 逻辑或 逻辑异或

注意:

or可以和and一起使用,但是在使用时要注意两者的优先级,由于and的优先级高于or,因此先对and两边的操作数进行操作,再与or中的操作数结合。

主要xor有点陌生,有且只能取一方。

4.位运算符

& | ^ ~ >> <<
换位与(位and) 换位或(位or) 换位异或(位xor) 按位取反 按位右移 按位左移

了解即可。

到此这篇关于mysql笔记 —sql运算符的文章就介绍到这了,更多相关 sql运算符内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: MySQL 运算符