Mysql条件查询语句⼀、between……and……操作符
1、查询薪⽔为1600到3000的员⼯(第⼀种⽅式:采⽤>= 、<=)
例如:lect empno,ename,sal from emp where sal >= 1600 and sal <= 3000;
2、查询薪⽔为1600到3000的员式(第⼆种⽅式:采⽤between…and…)
糖醋里脊家常做法例如:lect empno,ename,sal from emp where sal between 1600 and 3000;
注:关亍between … and … 它是包含最⼤值和最⼩值的
3、between … and … 同样也可⽤在字符上,⽤在字符上区间为:前闭后开;
例如: lect ename from emp where ename between “A”and “F”;
牛肉丸怎么煮好吃⼆、is null
Null 为空,它不是⼀个数值,不是⼀个空串,为null可以设置这个字段不填值,如果查询为null的字段,采⽤is null。
1、查询津贴为空的员⼯
错误: lect empno,ename,comm from emp where comm = null;
原因:以上⽆法查询出符合条件的数据,因为null类型⽐较特殊,必须使⽤ is 来⽐较
正确:lect empno,ename,comm from emp where comm is null;
写作业的英文
2、查询津贴不为空的员⼯
例如:lect empno,ename,comm from emp where comm is not null;
三、and:表⽰并且,表⽰所有查询条件必须满⾜
1、查询⼯作岗位为“MANAGER”并且薪⽔⼤于2500的员⼯
例如:lect empno,ename,job,sal from emp where job =…MANAGER‟ and sal > 2500;
成全刘若英四、or:只要满⾜条件即可,相当于包含
1、查询出 job 为 SALESMAN 和 job为MANAGER的员⼯
例如: lect ename,job from emp where job = “SALESMAN”or job = “MANAGER”;
五、and不or表达式的优化级
and的优先级⾼于or
1、查询薪⽔⼤于1800,并且部门编号为20或30的员⼯
例如: 错误:lect * from emp sal>1800 and deptno=20 or deptno = 30;
分析:以上输出的结果不是是我们预期的结果,薪⽔⼩于1800的也查出来了,原因是表达式的优先级导致的,⾸先SQL语句过滤了 sal > 1800 and deptno = 20,然后再将deptno = 30的员⼯合并过来,所以是不正确的
正确: lect * from emp where sal>1800 and (deptno=20 or deptno=30);深情英文
注: 关亍运算符的问题不⽤死记硬背,没有把握的尽量采⽤括号;
六、 in:表⽰包含的意思,完全可以采⽤or来表⽰,采⽤in会更简洁⼀些。
1、. 查询出Job为 SALESMAN 和 Job为 MANAGER 的员⼯
模拟键盘
例如: lect ename,job from emp where job in (“SALESMAN”,“MANAGER”);
2、查询出薪⽔为1600和3000的员⼯
例如: lect ename,sal from emp where sal in (1600,3000);
3、查询出薪⽔不是1600和3000的员⼯
例如: lect ename,sal from emp where sal not in (1600,3000);
七、not
1、第⼀种写法:查询出薪⽔不是1600和薪⽔不是3000的员⼯
例如: lect ename,sal from emp where sal <> 1600 and sal <> 3000;
2、第⼆种写法:查询出薪⽔不是1600和薪⽔不是3000的员⼯
例如: lect ename,sal from emp where not (sal = 1600 or sal = 3000);
3、第三种写法:查询出薪⽔不是1600和薪⽔不是3000的员⼯
例如: lect ename,sal from emp where sal not in (1600,3000);
4、查询出津贴不为null的员⼯地摊顺口溜
例如: lect * from emp where comm is not null;
⼋、Like :可以实现模糊查诟,like⽀持%和下划线匹配中考志愿填报