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语句只能对括号内的具体的某条或某几条记录进行匹配,而无法对其进行逻辑匹配。
ViiTor实时翻译
AI实时多语言翻译专家!强大的语音识别、AR翻译功能。
116 查看详情
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实现条件限制语句的实例(一)的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/391502.html
微信扫一扫
支付宝扫一扫