MySqL速成教程笔记系列二

条件查询

首先这是我的大表
在这里插入图片描述

1.语法格式:
select 字段1,字段2…… from 表名 where 条件;

条件可以有:
(1) 等于=
查询薪资等于800的员工姓名和员工编号
select ename,empno from emp where sal=800;
在这里插入图片描述
(2)不等于!=或者用<>
查询薪资不等于800的员工姓名和员工编号
select ename,empno from emp where sal!=800;
select ename,empno from emp where sal<>800;
在这里插入图片描述
(3) <小于
查询薪资小于800的员工姓名和员工编号
select ename,empno from emp where sal<800;
在这里插入图片描述
(4) <=小于等于
查询薪资小于等于2000的员工姓名和员工编号
select ename,empno from emp where sal<=2000;
在这里插入图片描述
(5)大于>,大于等于>=同(3)和(4)

(6)之间between……and……
查询薪资在2000和5000之间的员工的姓名和编号
select ename,empno from emp where sal between 2000 and 5000;
在这里插入图片描述
注意:使用between……and……的时候必须遵循左小右大的原则

(7) is null / is not null
查询补助为null的员工的姓名和编号
select ename,empno from emp where sal is null;
在这里插入图片描述
select ename,empno from emp where comm is not null;
在这里插入图片描述
(8) and并且 / or或者
查询工作岗位是MANAGER并且补助为null的员工的姓名和编号
select ename,empno from emp where job = ‘MANAGER’ and comm is null;
在这里插入图片描述
查询工作岗位是MANAGER或者补助为null的员工的姓名和编号
select ename,empno from emp where job = ‘MANAGER’ or comm is null;
在这里插入图片描述
and和or同时出现的话,优先级问题:
and的优先级比or高。
例如:查询工资大于2500,并且部门编号为10或者20的员工信息

如果不加括号,写成:
select * from emp where sal > 2500 and deptno = 10 or deptno = 20;
就会先执行寻找工资大于2500和部门编号为10的员工信息,然后再去找部门编号为20的员工信息。如下图:
在这里插入图片描述
而实际上我们想找的是“工资大于2500,并且部门编号为10或者20的员工”,所以需要加括号。

select * from emp where sal > 2500 and (deptno = 10 or deptno = 20);
结果如下:
在这里插入图片描述
(9) in包含 / not in 不包含
in包含相当于or

查询工作岗位是MANAGER和SALESMAN的员工
select * from emp where job in (‘MANAGER’,‘SALESMAN’);
在这里插入图片描述
注意:in不是一个区间,后面跟的是具体的值

查询薪资是800和5000的员工信息
select * from emp where sal in (800,5000);
在这里插入图片描述
not in 不在这几个值当中的数据
select * from emp where sal not in (3000,4000,2000);
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值