MySQL带比较运算符的子查询 mysql比较运算符有哪些

您所在的位置:网站首页 sql语句表示除法运算 MySQL带比较运算符的子查询 mysql比较运算符有哪些

MySQL带比较运算符的子查询 mysql比较运算符有哪些

2023-06-04 06:57| 来源: 网络整理| 查看: 265

比较运算符可用于比较数字和字符串。今天发一篇Mysql比较运算符详解,希望对初学者有所帮助,虽然现在流行NoSQL,但是MYSQL还是很有用的,数字作为浮点值进行比较,字符串以不区为例进行比较,=运算符用于比较表达式的两边是否相等。您也可以比较字符串。运算符用于检测表达式的两边是否不相等,如果不相等,则返回真值。您也可以比较字符串。

算术操作符是SQL中最基本的操作运算符,主要有一下几种运算符:

+(加)、 -(减)、 *(乘)、 /(除)、 %(求余或者模)

算术操作符测试案例:

创建表tmp14,定义数据类型为INT的字段num,插入值64,对num值进行算术运算:

首先创建表tmp14,输入语句如下:

CREATE TABLE tmp14 ( num INT);

向字段num插入数据64:

INSERT INTO tmp14 value(64);

接下来,对num值进行加法和减法运算:

SELECT num, num+10, num-3+5, num+5-3, num+36.5 FROM tmp14;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符

由计算结果可以看到,可以对num字段的值进行加法和减法的运算,而且由于’+’和’–’的优先级相同,因此先加后减,或者先减后加之后的结果是相同的。

对tmp14表中的num进行乘法、除法运算。

SELECT num, num *2, num /2, num/3, num%3 FROM tmp14;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_02

由计算结果可以看到,对num进行除法运算时候,由于64无法被3整除,因此MySQL对num/3求商的结果保存到了小数点后面四位,结果为21.3333;64除以3的余数为1,因此取余运算num%3的结果为1。

在数学运算时,除数为0的除法是没有意义的,因此除法运算中的除数不能为0,如果被0除,则返回结果为NULL。

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_03

由计算结果可以看到,对num进行除法求商或者求余运算的结果均为NULL。

比较运算符

一个比较运算符的结果总是1,0或者是NULL。MySQL中的比较运算符有:

=、、 (!=)、=、>、IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN . . . AND. . . 、ISNULL、IN、NOT IN、LIKE、REGEXP

使用‘=’进行相等判断,SQL语句如下:

SELECT 1=0, '2'=2, 2=2,'0.02'=0, 'b'='b', (1+3) = (2+2),NULL=NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_04

使用’’进行相等的判断,SQL语句如下:

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_05

由结果可以看到,’’在执行比较操作时和’=’的作用是相似的,唯一的区别是’’可以用来对NULL进行判断,两者都为NULL时返回值为1。

不等于运算符 或者 !=

‘’或者’!=’用于判断数字、字符串、表达式不相等的判断。如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。

使用’’和’!=’进行不相等的判断,SQL语句如下:

SELECT 'good''god', 12, 4!=4, 5.5!=5, (1+3)!=(2+1),NULLNULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_06

由结果可以看到,两个不等于运算符作用相同,都可以进行数字、字符串、表达式的比较判断。

使用’NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_10

使用IS NULL、ISNULL和IS NOT NULL判断NULL值和非NULL值,SQL语句如下:

SELECT NULL IS NULL, ISNULL(NULL),ISNULL(10), 10 IS NOT NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_11

使用BETWEEN AND 进行值区间判断,输入SQL语句如下:

SELECT 4 BETWEEN 4 AND 6, 4 BETWEEN 4 AND 6,12 BETWEEN 9 AND 10;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_12

SELECT 'x' BETWEEN 'f' AND 'g', 'b' BETWEEN 'a' AND 'c';

MySQL带比较运算符的子查询 mysql比较运算符有哪些_SQL_13

使用LEAST运算符进行大小判断,SQL语句如下:

SELECT least(2,0), least(20.0,3.0,100.5), least('a','c','b'),least(10,NULL);

MySQL带比较运算符的子查询 mysql比较运算符有哪些_SQL_14

使用GREATEST运算符进行大小判断,SQL语句如下:

SELECT greatest(2,0), greatest(20.0,3.0,100.5), greatest('a','c','b'),greatest(10,NULL);

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_15

使用IN、NOT IN运算符进行判断,SQL语句如下:

SELECT 2 IN (1,3,5,'thks'), 'thks' IN (1,3,5,'thks');

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_16

存在NULL值时的IN查询,SQL语句如下:

SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks');

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_17

使用运算符LIKE进行字符串匹配运算,SQL语句如下:

SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_','stud' LIKE '%d','stud' LIKE 't_ _ _', 's' LIKE NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_18

使用运算符REGEXP进行字符串匹配运算,SQL语句如下:

SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_19

逻辑运算符

逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

逻辑运算符有:

NOT 或者 !AND 或者 &&OR 或者 ||XOR(异或)

使用非运算符“NOT”和“!”进行逻辑判断,SQL语句如下:

SELECT NOT 10, NOT (1-1), NOT -5, NOT NULL, NOT 1 + 1;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_运算符_20

SELECT !10, !(1-1), !-5, ! NULL, ! 1 + 1;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_21

使用与运算符“AND”和“&&”进行逻辑判断,SQL语句如下:

SELECT 1 AND -1,1 AND 0,1 AND NULL, 0 AND NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_22

SELECT 1 && -1,1 && 0,1 && NULL, 0 && NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_SQL_23

使用或运算符“OR”和“||”进行逻辑判断,SQL语句如下:

SELECT 1 OR -1 OR 0, 1 OR 2,1 OR NULL, 0 OR NULL, NULL OR NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_SQL_24

SELECT 1 || -1 || 0, 1 || 2,1 || NULL, 0 || NULL, NULL || NULL;

MySQL带比较运算符的子查询 mysql比较运算符有哪些_字符串_25

使用异或运算符“XOR”进行逻辑判断,SQL语句如下:

SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;

执行上面的语句,结果如下。

MySQL带比较运算符的子查询 mysql比较运算符有哪些_MySQL带比较运算符的子查询_26

位运算符

位运算符是用来对二进制字节中的位进行测试、移位或者测试处理。位运算符有:

位或(|)位与(&)位异或(^ )位左移(


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3