本MySQL教程探讨了用于测试相等性和不相等性的所有比较运算符,以及更高级的运算符。
本教程中我们将学习MySQL中的比较运算符, 在WHERE子句中使用比较运算符来确定要选择的记录。
下面是MySQL中的比较运算符的列表:
BETWEEN值在指定范围内IS NULL是NULL值IS NOT NULL非NULL值LIKE| 与%和_的模式匹配EXISTS如果子查询至少返回一行,则为TRUE
在MySQL中,可以使用=操作符来检测查询中的相等性。=操作符只能测试不为NULL的值是否相等。 即不能写成 ContactName = NULL。
=操作符
例如:
SELECT
*
FROM
suppliers
WHERE
ContactName =
'Yoshi Nagase'
;
SELECT语句将返回suppliers表中ContactName等于Yoshi Nagase的所有行。
由于 =运算符仅比较那些非NULL值,因此与NULL值一起使用并不安全。为了克服此限制,MySQL添加了 <=>运算符,以方便您测试NULL和非NULL值的相等性。
下面演示了 =运算符和 <=>运算符之间的区别。
假设我们在MySQL中有一张employees的表,其中的数据如下:
在查询中使用 =运算符:
EmployeeID,LastName,City,Region
employees
City = Region;
结果如下:
使用 <=>运算符重新查询:
City <>=> Region;
查询返回contacts表中所有City等于Region的行,包括值都为NULL的行。
在MySQL中,可以使用 <>或!=运算符来指定查询中的不相等条件。
如下所示:
ContactName <>
SELECT语句将从contacts表中返回所有ContactName不等于Yoshi Nagase的行。
使用 !=运算符,如下所示:
ContactName !=
这两个查询返回的结果是相同的。
在MySQL中大于运算符为 >:
SupplierID > 20;
查询将返回suppliers表中SupplierID大于20的所有行。
在MySQL中大于或等于运算符为 >=:
SupplierID >= 20;
查询将返回suppliers表中SupplierID大于或者等于20的所有行。
SupplierID < 20;
查询将返回suppliers表中SupplierID 小于20的所有行。
SupplierID <>= 20;
查询将返回suppliers表中SupplierID小于或者等于20的所有行。
原文链接:https://codingdict.com/