mysql模糊查询sal怎么写_MySQL操作符条件查询

MySQL操作符包括很多种,通过前面的文章,相信大家已经认识MySQL比较操作符中的等号和不等号操作符了,这篇文章对MySQL操作符条件查询的相关操作进行简单的介绍,相信会对正在学习MySQL数据库的朋友们起到一定的帮助。

在学习MySQL操作符条件查询前,先来认识一下MySQL操作符的类型都有哪些:

(1)算术运算符,执行算术运算,例如:加、减、乘、除等;

(2)比较运算符,包括大于、小于、等于或者不等于;

(3)逻辑运算符,包括与、或、非和异或等逻辑运算符;

(4)位运算符,包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。

MySQL条件查询时,需要用到where语句,where必须放到from语句表的后面,执行顺序是先 from再where过滤后再检索出来。支持如下运算符:

1、between … and …操作符

(1)查询薪水为1600到3000的员工(第一种方式:采用>=、<=) select empno,ename,sal from emp where sal >= 1600 and sal <= 3000;

1a03c5045873ef2f9d512b4b6011e70d.png

(2)查 询 薪 水 为 1600 到 3000 的 员 式 ( 第 二 种 方 式 : 采 用between…and…)select empno,ename,sal from emp where sal between

1600 and 3000;

c2835a5ef55e30a5c95efc34d75a1ffa.png

注:关于 between … and … 它是包含最大值和最小值的

(3)between … and … 同样也可用在字符上,用在字符上区间为:前闭后开;select ename from emp where ename between ‘A’and ‘F’;

90544638e0b4e165a777ea8f7052f7dc.png

2、is null操作符

Null为空,它不是一个数值,不是一个空串,为null可以设置这个字段不填值,如果查询为 null 的字段,采用 is null。查询津贴为空的员工

select empno,ename,comm from emp where comm = null;

60a94a499d8da225b6ffd3d385d99f09.png

以上无法查询出符合条件的数据,因为null类型比较特殊,必须使用is来比较

select empno,ename,comm from emp where comm is null;

0d1b7c5e7b6da6ca3e93b92693329f10.png

查询津贴不为空的员工,select empno,ename,comm from emp where comm is not null;

d0811fe17ff1b7758faabefd58eb3b24.png

3、and操作符

and表示并且的含义,表示所有查询条件必须满足查询工作岗位为“MANAGER”并且薪水大于2500的员工,select empno,ename,job,sal from emp where job =‘MANAGER’ and sal > 2500;

3de9e39116fc79e2d875ea114c64e342.png

4、or操作符

or,只要满足条件即可,相当于包含查询出job为 SALESMAN和 job为 MANAGER 的员工select ename,job from emp where job = ‘SALESMAN’or  job =‘MANAGER’;

9bb29a7663136fa454cadc6259087760.png

5、and 与 or 表达式的优化级

and 的优先级高于or。查询薪水大于1800,并且部门编号为20或30的员工,错误写法:select * from emp sal > 1800 and deptno = 20 or deptno = 30;

2a5ca8f525d36eaea1f9bedf48fa332a.png

以上输出的结果不是我们预期的结果,薪水小于1800的也查出来了,原因是表达式的优先级导致的,首先SQL语句过滤了sal > 1800 and deptno = 20,然后再将 deptno = 30 的员工合并过来,所以是不正确的。正确写法:select * from emp where sal > 1800 and (deptno = 20 or deptno = 30)。

0cb4a7889558b90911b2c068a596878d.png

注:关于运算符的问题不用死记硬背,没有把握的尽量采用括号。

6、in操作符

in表示包含的意思,完全可以采用 or 来表示,采用 in 会更简洁

一些。

(1)查询出Job为 SALESMAN 和 Job为 MANAGER 的员工select ename,job from emp where job in(‘SALESMAN’,'MANAGER’);

77b4968cf72c419687847850fd886780.png

(2)查询出薪水为1600和3000的员工,select ename,sal from emp where sal in(1600,3000);

fa6aa00b40348b9b633f74f7f8948f9c.png

(3)查询出薪水不是1600和3000的员工,select ename,sal from emp where sal not in(1600,3000);

582ae2ee82951834c800298fe04145fd.png

7、not操作符

(1)第一种写法:查询出薪水不是1600和薪水不是3000的员工select ename,sal from emp where sal <> 1600 and sal <> 3000;

c9db9a3572828720c4ffcad474fdb0da.png

(2)第二种写法:查询出薪水不是1600和薪水不是3000的员工select ename,sal from emp where not(sal = 1600 or sal = 3000);

ed32dbd0f1ad60c3f77bad05d16f7477.png

(3)第三种写法:查询出薪水不是1600和薪水不是3000的员工,select ename,sal from emp where sal not in(1600,3000);

fc08c4121ef504c4b02c7d7bf91cf0fa.png

(4)查询出津贴不为null的员工,select * from emp where comm is not null;

f8964794feb7c361d3c15cd33149d2d8.png

9、Like操作符

like可以实现模糊查询,like支持%和下划线匹配。

(1)查询以姓名以M开头的所有员工,select ename from emp where ename like ‘M%’

8bf197ea794aa550502e80746398526f.png

(2)查询姓名以N结尾的所有员工,select ename from emp where ename like ‘%N’;

d50bdcf1009cd3169c9118cb130ecfe7.png

(3)查询姓名中包含O的所有员工,select ename from emp where ename like ‘%O%’;

873dc2089fd8565f1d74ebeb31fef461.png

(4)查询姓名中第二个字符为A的所有员工,select ename from emp where ename like ‘_A%’;

a39c6672e78331bbfa48772d338012b1.png

(5)查询姓名中倒数第二个字符为E的所有员工,select ename from emp where ename like ‘%E_’;

f112fb604148c2d99e2d0c66b06bdf16.png

(6)查询姓名中第三个字符为N的所有员工姓名,select ename from emp where ename like‘__N%’;

264e7aa31132839df079a2ce84429494.png

上面就是对MySQL操作符条件查询的介绍,主要是通过实例来说明MySQL操作符该怎样进行条件查询,这样会更方便大家理解。其实这篇文章的内容都是比较基础的,适合java零基础刚刚接触MySQL的朋友们学习,希望在将操作符的内容掌握后,再多多的通过MySQL视频教程来学习更深入的知识,逐步提高自己的java技术。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值