mysql-DQL查询语句优先级: and>or=in
一、and:and级别高于or,先执行and然后or;如果想要or想要先执行,需要加小括号;
- 查询工作岗位是:MANAGER 并工资大于2500:
select empno,ename,job,sal
from emp
where job='manager' and sal>2500;
二、or:
- 查询工作岗位是MANAGER和SALESMAN员工:
- select empno,ename,job
- from emp
- where job='manager' or job='saleman'; (不要忘记单引号‘manager’ ‘saleman’)
三、and 和or同时出现,先执行and 后执行or,如果想要or先执行需要加括号
- 查询工资大于2500,并且部门编号为10和20部门的员工;
- 先查看表结构
- desc emp
- 看着表结构写sql语句
- select empno,ename,sal,deptno,dname
- from emp
- where sal > 2500 and (deptno = 10 or deptno = 20);
四、in包含,相当于多个or,(not in不在这个范围中) in后面的值不是区间,是具体的值。
- in等同于or:
- 找出工作岗位是MANAGER和SALESMAN的员工?
select ename,job from emp where job = 'SALESMAN' or job = 'MANAGER';
select ename,job from emp where job in('SALESMAN', 'MANAGER'); - not in: 不在这几个值当中。
- 查询薪资不是800和5000的员工(除了工资是800和5000的其他人工资)
select ename,job from emp where sal not in(800, 5000);