1.between语句:
mysql> select * from 4a where score between 76 and 89; +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 | | 钱二 | 19 | 叶平 | 1 | 语文 | 2 | 1 | 79 | | 钱二 | 19 | 贺高 | 2 | 数学 | 2 | 2 | 81 | | 张三 | 17 | 杨艳 | 3 | 英语 | 3 | 3 | 88 | | 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 | | 王五 | 17 | 杨艳 | 3 | 英语 | 5 | 3 | 78 | +--------+------+--------+------+--------+------+------+-------+ 6 rows in set (0.02 sec)
mysql> select * from 4a where score between 78 and 88; +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 | | 钱二 | 19 | 叶平 | 1 | 语文 | 2 | 1 | 79 | | 钱二 | 19 | 贺高 | 2 | 数学 | 2 | 2 | 81 | | 张三 | 17 | 杨艳 | 3 | 英语 | 3 | 3 | 88 | | 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 | | 王五 | 17 | 杨艳 | 3 | 英语 | 5 | 3 | 78 | +--------+------+--------+------+--------+------+------+-------+ 6 rows in set (0.00 sec)
由这两个例子我们可以看出between子句执行时取值范围时是包括它的边界值的。
2.or语句:
mysql> select * from 4a where score=78 or score=88 or score>88 or score<60; +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 刘一 | 18 | 叶平 | 1 | 语文 | 1 | 1 | 56 | | 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 | | 刘一 | 18 | 周磊 | 4 | 物理 | 1 | 4 | 58 | | 钱二 | 19 | 杨艳 | 3 | 英语 | 2 | 3 | 92 | | 张三 | 17 | 叶平 | 1 | 语文 | 3 | 1 | 91 | | 张三 | 17 | 贺高 | 2 | 数学 | 3 | 2 | 47 | | 张三 | 17 | 杨艳 | 3 | 英语 | 3 | 3 | 88 | | 张三 | 17 | 周磊 | 4 | 物理 | 3 | 4 | 56 | | 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 | | 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 | | 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 | | 王五 | 17 | 叶平 | 1 | 语文 | 5 | 1 | 46 | | 王五 | 17 | 杨艳 | 3 | 英语 | 5 | 3 | 78 | | 王五 | 17 | 周磊 | 4 | 物理 | 5 | 4 | 53 | | 赵六 | 19 | 叶平 | 1 | 语文 | 6 | 1 | 35 | | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 93 | +--------+------+--------+------+--------+------+------+-------+ 16 rows in set (0.00 sec)
通过这个例子我们可以看出:一个mysql语句中可以有许多个or子句。
3.in语句:
mysql> select * from 4a where score in (78,93); +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 刘一 | 18 | 贺高 | 2 | 数学 | 1 | 2 | 78 | | 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 | | 王五 | 17 | 杨艳 | 3 | 英语 | 5 | 3 | 78 | | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 93 | +--------+------+--------+------+--------+------+------+-------+ 4 rows in set (0.00 sec)
mysql> select * from 4a where score in (score>60); Empty set (0.00 sec)
看来in语句只能对括号内的具体的某条或某几条记录进行匹配,而无法对其进行逻辑匹配。
临沂奥硕软件有限公司拥有国内一流的企业网站管理系统,奥硕企业网站管理系统真正会打字就会建站的管理系统,其强大的扩展性可以满足企业网站实现各种功能(唯一集成3O多套模版的企业建站系统)奥硕企业网站管理系统具有一下特色功能1、双语双模(中英文采用单独模板设计,可制作中英文不同样式的网站)2、在线编辑JS动态菜单支持下拉效果,同时生成中文,英文,静态3个JS菜单3、在线制作并调用FLASH展示动画4、自
0
mysql> select * from 4a where score>85; +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 钱二 | 19 | 杨艳 | 3 | 英语 | 2 | 3 | 92 | | 张三 | 17 | 叶平 | 1 | 语文 | 3 | 1 | 91 | | 张三 | 17 | 杨艳 | 3 | 英语 | 3 | 3 | 88 | | 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 | | 李四 | 18 | 杨艳 | 3 | 英语 | 4 | 3 | 90 | | 李四 | 18 | 周磊 | 4 | 物理 | 4 | 4 | 93 | | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 93 | +--------+------+--------+------+--------+------+------+-------+ 7 rows in set (0.00 sec)
显然where的功能要比in强大得多,因此where的命令优先级也比高一些。而相同条件下where的搜寻范围也比in要大一点---毕竟功能多了,要搜寻的东西就多了。所以,相同的查询条件下where的效率会比in稍微差一点点,当然也仅仅是一点点而已。当然由于in的命令优先级较where低,所以用in的话SQL语句也更容易报错。
and语句:
mysql> select * from 4a where (score>85 and sage=18) and t=2; +--------+------+--------+------+--------+------+------+-------+ | sname | sage | tname | t | cname | s | c | score | +--------+------+--------+------+--------+------+------+-------+ | 李四 | 18 | 贺高 | 2 | 数学 | 4 | 2 | 88 | +--------+------+--------+------+--------+------+------+-------+ 1 row in set (0.00 sec)
通过这个例子我们可以看出:一个mysql语句中可以有许多个and子句。
以上就是mysql实现条件限制语句的实例(一)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号