我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL的where表达式中的各种运算符的用法和细节

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL的where表达式中的各种运算符的用法和细节

MySQL的where表达式中的各种运算符的用法和细节

小故事

今天在研究mysql的where表达式中的运算符的时候,遇到一个有意思的问题。
问题是:以id为主键,选择id在5到10之间的数据
小华说:where id>5 and id <10;就搞定了
小朋说:where id between 5 and 10;就搞定了
翻译起来,好像两句话的意思是一样的,其实这里是有一个细节的。
小华的说法,最终选择的是6,7,8,9
小朋的说法,最终选择的是5,6,7,8,9,10
看似是差不多的描述,实际是结果是不一样的。因为between and运算符虽然和> ,>=, <,<= ,!=等运算符是同一层次,但是范围是不同的。between and 实际是取目标范围的闭区间。

在这里插入图片描述如果将小华的说法改成:where id>=5 and id <=10,那就和小朋的回答一致了。
所以为避免日后混淆,今日将mysql运算符研究了一遍,进行一个较全面的总结。


mysql运算符分类

掌握mysql的运算符对于编写SQL语句是非常重要的,可以使我们高效写语句,不犯错。
大体上mysql可以分为以下几种运算符

算术运算符
用于在select语句中对数值进行算术操作,包括加(+)、减(-)、乘(*)、除(/)和取模(%)。

比较运算符
用于比较两个表达式的值,返回的结果是真或假。常用的比较运算符包括等于(=)、不等于(<>或!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。

逻辑运算符
主要有三种——AND、OR和NOT。它们用于判断两个布尔表达式之间的关系,并且返回TRUE或FALSE。

位运算符
将数字转换为二进制后,在位级别上进行操作。主要有按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移位(<<)和右移位(>>)。

赋值运算符
用于将一个值赋给一个变量,主要有等于号(=)和加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)和取模等于(%=)等复合赋值运算符。

其他运算符
REGEXP(用于正则表达式匹配)和BETWEEN…AND(用于查找指定范围内的数据)。


where表达式中的运算符

  • =:判断两个值是否相等。
  • <>!=:判断两个值是否不相等。
  • <:判断左边的值是否小于右边的值。
  • >:判断左边的值是否大于右边的值。
  • <=:判断左边的值是否小于等于右边的值。
  • >=:判断左边的值是否大于等于右边的值。
  • BETWEEN:判断某个值是否在某个范围内。
  • IN:判断某个值是否在一个列表中。
  • LIKE:模糊匹配,判断某个值是否包含某个模式。
  • IS NULL:判断某个值是否为空。
  • NOT:否定运算符,取反WHERE表达式中的条件。

除了这些常见的运算符,MySQL还支持一些其他的运算符,如逻辑运算符(AND、OR、NOT)和位运算符(&、|、^、~、<<、>>)。
在这里插入图片描述

  1. 等于运算符的注意点:使用等于运算符时,如果比较的值是NULL,那么结果总是未知的(NULL)。

  2. 不等于运算符的注意点:使用不等于运算符时,如果比较的值是NULL,那么结果总是未知的(NULL)。

  3. 小于和大于运算符的注意点:使用小于和大于运算符时,如果比较的值是NULL,那么结果总是未知的(NULL)。

  4. BETWEEN运算符的注意点:使用BETWEEN运算符时,如果比较的值是NULL,那么结果总是未知的(NULL)。

  5. IN运算符的注意点:使用IN运算符时,如果比较的值是NULL,那么结果总是未知的(NULL)。

  6. LIKE运算符的注意点:使用LIKE运算符时,可以使用通配符,例如%或_,但是使用通配符会影响查询的性能。

  7. NOT运算符的注意点:使用NOT运算符时,会将结果反转,例如NOT TRUE的结果是FALSE,NOT FALSE的结果是TRUE。

  8. AND和OR运算符的注意点:使用AND和OR运算符时,需要注意它们的优先级,可以使用括号来明确优先级。

  9. IS NULL和IS NOT NULL运算符的注意点:使用IS NULL和IS NOT NULL运算符时,需要注意NULL的特殊性,NULL不等于任何值,包括NULL本身。


between and 和 and运算符的区别

这个在文章最开头已经说过了,但重要的事,有必要再强调一遍。
BETWEEN ANDAND是MySQL的where表达式中的两个不同的运算符,它们的作用和使用方式也不同。

BETWEEN AND运算符用于指定一个范围,在这个范围内的值都会被选中。它的语法如下:
在这里插入图片描述

AND运算符则是逻辑运算符之一,用于连接多个条件,只有当所有条件都为真时,整个条件才为真。它的语法如下:
在这里插入图片描述


in运算符需要注意的点

在这里插入图片描述
在这里插入图片描述
==注意看这两张图的区别,in运算符是没有模糊查询功能的。它仅能用来查询指定项。

★★★★★比如我在整个列表中查看有没有叫‘张三’的人,而不能查看名字里有没有带‘三’的人==


来源地址:https://blog.csdn.net/dyk11111/article/details/130547648

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL的where表达式中的各种运算符的用法和细节

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php中常用的运算符和表达式有哪几种

php运算符和表达式提供了执行计算和逻辑操作的功能。运算符类型包括算术、比较、逻辑、位运算和赋值运算符。表达式结合了值、变量、运算符和函数调用来计算结果,优先级和结合性决定了求值顺序。PHP 常用的运算符和表达式PHP 中提供了广泛的运算
php中常用的运算符和表达式有哪几种
2024-04-26

编程热搜

目录