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);
posted @ 2022-04-13 18:46  280887072  阅读(255)  评论(0编辑  收藏  举报