vc mysql 查询_MySQL条件查询(三) - MySQL - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...

五、and不or表达式的优化级

and的优先级高于or

1、查询薪水大于1800,并且部分编号为20或30的员工

例如: 毛病:select * from emp sal>1800 and deptno=20 or deptno = 30;

MySQL条件查询(三)-1.jpg (60.27 KB, 下载次数: 0)

2018-9-16 20:25 上传

阐发:以上输出的结果不是是我们预期的结果,薪水小于1800的也查出来了,原因是表达式的优先级致使的,首先SQL语句过滤了 sal > 1800 and deptno = 20,然后再将deptno = 30的员工合并过来,所以是不正确的

正确: select * from emp where sal>1800 and (deptno=20 or deptno=30);

MySQL条件查询(三)-2.jpg (47.19 KB, 下载次数: 0)

2018-9-16 20:25 上传

注: 关亍运算符的问题不消死记硬背,没有掌控的尽量采取括号;

六、 in:暗示包含的意思,完全可以采取or来暗示,采取in会更简洁一些。

1、. 查询出Job为 SALESMAN 和 Job为 MANAGER 的员工

例如: select ename,job from emp where job in (“SALESMAN”,“MANAGER”);

MySQL条件查询(三)-3.jpg (27.89 KB, 下载次数: 0)

2018-9-16 20:25 上传

2、查询出薪水为1600和3000的员工

例如: select ename,sal from emp where sal in (1600,3000);

MySQL条件查询(三)-4.jpg (25.47 KB, 下载次数: 0)

2018-9-16 20:25 上传

3、查询出薪水不是1600和3000的员工

例如: select ename,sal from emp where sal not in (1600,3000);

MySQL条件查询(三)-5.jpg (35.85 KB, 下载次数: 0)

2018-9-16 20:25 上传

七、not

1、第一种写法:查询出薪水不是1600和薪水不是3000的员工

例如: select ename,sal from emp where sal <> 1600 and sal <> 3000;

MySQL条件查询(三)-6.jpg (33.43 KB, 下载次数: 0)

2018-9-16 20:25 上传

2、第二种写法:查询出薪水不是1600和薪水不是3000的员工

例如: select ename,sal from emp where not (sal = 1600 or sal = 3000);

MySQL条件查询(三)-7.jpg (32.71 KB, 下载次数: 0)

2018-9-16 20:25 上传

3、第三种写法:查询出薪水不是1600和薪水不是3000的员工

例如: select ename,sal from emp where sal not in (1600,3000);

MySQL条件查询(三)-8.jpg (36.38 KB, 下载次数: 0)

2018-9-16 20:25 上传

4、查询出津贴不为null的员工

例如: select * from emp where comm is not null;

MySQL条件查询(三)-9.jpg (48.43 KB, 下载次数: 0)

2018-9-16 20:25 上传

8、Like :可以实现模糊查诟,like支持%和下划线匹配

1、查询以姓名以 M 开头的所有员工‘M%’

例如: select ename from emp where ename like “M%”;

MySQL条件查询(三)-10.jpg (16.86 KB, 下载次数: 0)

2018-9-16 20:25 上传

2、查询姓名以N结尾的所有员工‘%N’

例如: select ename from emp where ename like “%N”;

MySQL条件查询(三)-11.jpg (16.2 KB, 下载次数: 0)

2018-9-16 20:25 上传

3、查询姓名中包含O的所有员工‘%O%’

例如: select ename from emp where ename like “%O%”;

MySQL条件查询(三)-12.jpg (15.46 KB, 下载次数: 0)

2018-9-16 20:25 上传

4、查询姓名中第二个字符为A的所有员工‘_A%’

例如: select ename from emp where ename like “_A%”;

MySQL条件查询(三)-13.jpg (17.23 KB, 下载次数: 0)

2018-9-16 20:25 上传

5、查询姓名中倒数第二个字符为E的所有员工‘%E_’

例如: select ename from emp where ename like “%E_”;

MySQL条件查询(三)-14.jpg (17.94 KB, 下载次数: 0)

2018-9-16 20:25 上传

6、查询姓名中第三个字符为N的所有员工姓名‘__R%’

例如: select ename from emp where ename like “R%”;

MySQL条件查询(三)-15.jpg (21.32 KB, 下载次数: 0)

2018-9-16 20:25 上传

MySQL条件查询(三)-16.jpg (16.35 KB, 下载次数: 0)

2018-9-16 20:25 上传

更多内容回复查看:

游客,如果您要查看本帖隐藏内容请回复

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值