• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql实现条件限制语句的实例(一)

mysql实现条件限制语句的实例(一)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql,语句,限制等相关知识,希望本文的分享对您有所帮助
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语句只能对括号内的具体的某条或某几条记录进行匹配,而无法对其进行逻辑匹配。

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实现条件限制语句的实例(一)的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2017-05-11mysql中优化和修复数据库工具mysqlcheck详细介绍
  • 2018-12-05mysql登录遇到ERROR 1045问题解决方法
  • 2017-05-11mysql启用skip-name-resolve模式时出现Warning的处理办法
  • 2017-05-11MySQL常用命令大全脚本之家总结
  • 2018-12-05oracle 如何关闭打开归档日志
  • 2018-12-05MYSQL5 masterslave数据同步配置方法第1/3页
  • 2017-05-11MySQL实现批量插入以优化性能的教程
  • 2018-12-05详解mysql中url时区的陷阱该如何规避
  • 2017-05-11mysql复制中临时表的运用技巧
  • 2018-12-05SQLServer 附加数据库后出现只读或失败的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL从MyISAM转换成InnoDB错误与常用解决办法
    • MySQL编程中的6个实用技巧
    • 一句Sql把纵向表转为横向表,并分别分组求平均和总平均值
    • mysql 中文乱码 解决方法集锦
    • 数据库空间管理
    • Mysql一次死锁排查过程的全纪录分享
    • mysql 统计函数和group by
    • 如何查看Oracle数据库版本
    • Mysql(MyISAM)的读写互斥锁问题的解决方法
    • 如何源码安装MySQL数据库?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有