比较运算在MySQL中如何使用?

比较运算在MySQL中如何使用?,第1张

1、等于运算符:=

“=”是用来判断数字、字符和表达式是否相等,如果相等,返回值为,否则返回值为0。

如:select 5=6,'9'=9,668=668,'luo'='luo',(2*3)=(4*5),NULL=NULL,0=NULL

结论】

1)若有一个两个 *** 作数为NULL,比较运算的结果就是NULL;

2)同一个比较运算符中两个 *** 作数都是字符串,则按照字符串进行比较;

3)若同一个比较运算符中两个 *** 作数都是数值,则按照数值进行比较;

4)若是一个数值和一个字符串进行比较,则MySQL自动将字符串转化为数值;

5)不管何种情况,“=”比较返回的确实只有1、0与NULL三类值。

2、安全等于运算符:<=>

“<=>”运算符在具备“=”所有功能的基础上增加了判断NULL值的功能。

【结论】

1)“<=>”运算符确实具备“=”所有功能,返回值也是1、0与NULL;

2)当两个 *** 作数均为NULL时,“<=>”运算符返回的结果为1,而不是NULL;

3)当只有一个 *** 作数为NULL时,“<=>”运算符返回的结果也不是NULL而是0。

3、不等于运算符:<>或!=

1)“<>”或“!=”运算符也是可以用于数字、字符串与表达式的判断;

2)其比较逻辑与“=”相反,但返回值也是1、0与NULL。

4、小于或等于运算符:<=

1)“<=”运算符也是可以用于数字、字符串与表达式的判断;

2)其逻辑:判断左边的 *** 作数是否小于右边的 *** 作数,如果是则返回1,否则返回0;

3)针对含有NULL的 *** 作数则好不犹豫地返回NULL。

5、小于运算符:<

6、大于或等于运算符:>=

7、大于运算符:>

这三类运算符与上面的“<=”逻辑一致,大家可以自己去分析其过程并得到结论。

8、IS NULL(ISNULL)、IS NOT NULL运算符

1)这类比较运算符是用来判断数字、字符、表达式结果是否为NULL;

2)返回的结果值有1、0,没有NULL;

3)IS NULL(ISNULL)与IS NOT NULL返回的值相反。

9、BETWEEN AND运算符

其语法格式为“expr BETWEEN min AND max”。

1)这类比较运算符是用来判断数字、字符、表达式结果是否为NULL;

2)返回的结果值有1、0与NULL;

3)等同于:min <= expr <=max,即包含上下限的值。

10、IN与NOT IN运算符

1)这类比较运算符是用来判断数字、字符、表达式结果是否为NULL;

2)返回的结果值有1、0与NULL;

3)IN用来判断 *** 作数是否为IN列表中的一个值,如果是则返回1,否则返回0,对于NULL则返回NULL。NOT IN则于IN相反。

11、LIKE运算符

其语法格式为“expr LIKE 匹配条件”。

1)LIKE运算符用于匹配字符串;

2)返回的结果值有1、0与NULL;

3)包含两种通配符。“%”匹配任何字符,甚至包括零字符;“_”只能匹配一个字符。

12、REGEXP运算符

REGEXP是LIKE的逆运算。语法格式类似:“expr REGEXP 匹配条件”。只是其包含的通配符更多。

1)^:匹配以该字符后面的字符开头的字符串;

2)$:匹配以该字符后面的字符结尾的字符串;

3).:匹配任何一个单字符;

4)[···]:匹配方括号内的任何字符;

5)*:匹配零个或多个在它前面的字符。

总结:

1、MySQL支持的比较运算符有12类;

2、一个比较运算符的结果总是1、0或NULL;

3、只有“<=>”才支持NULL的比较,其他对有NULL *** 作数时返回的结果就是NULL。

关系运算包括四种:投影、选择、连接、除。

在任何一种数据库管理系统中(包括MySQL),投影对应于SELECT子句,选择对应于WHERE子句,连接对应于JOIN子句,但除没有直接的对应语句,需要根据题目的实际含义书写复杂的SQL,通常都会包含子查询。

(1)查询表中全部信息:

select * from 表名

(2)查询表中指定列的信息:

select 列1,列2 from 表名

(3)去重:

select distinct 列... from 表名

(4)拼接结果:

select concat(列1,列2) from 表名

(5)设置别名(注意:关键字as可以省略)

select 列 as 别名 from 表名

select 列 别名 from 表名

(6)条件查询:

select 列... from 表名 where 条件

条件中比较运算符:(等于:=  大于:> 大于等于:>=  小于:< 小于等于:<=  不等于:!= 或 <>)

(7)where 列  比较运算符  值

注意:字符串、日期需使用单引号括起来

(8)逻辑运算符(并且:and或&&   或:or   非:not或!)

where 条件1 逻辑运算符 条件2

where not 条件

(9)范围查询:

where 列 between 条件1  and 条件2          //列在这个区间的值where 列 not between 条件1 and 条件2    //不在这个区间where !( 列 between 条件1 and 条件2 )     //同样表示不在这个区间

集合查询(判断列的值是否在指定的集合中):

where 列 in(值1,值2)         //列中的数据是in后的值里面的where 列 not in(值1,值2)  //不是in中指定值的数据

null值查询(注意:列中值为null不能使用=去查询):

where 列 is null //查询列中值为null的数据

资料来源 网页链接


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8671941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存