栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MYSQL AND[猿教程]

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MYSQL AND[猿教程]

MYSQL AND |猿教程|

MYSQL AND |猿教程|

在本教程中,您将学习如何使用 MySQL AND 运算符组合多个布尔表达式来过滤数据。

MySQL AND 运算符简介

MySQL 没有内置的布尔类型。相反,它将数字零用作 FALSE,将非零值用作 TRUE。

AND 运算符是组合两个或多个布尔表达式并返回 1、0 或 NULL 的逻辑运算符:

A AND B

在此表达式中,A 和 B 称为操作数。它们可以是文字值或表达式。

如果 A 和 B 都非零且非 NULL,则逻辑 AND 运算符返回 1。如果任一操作数为零,则返回 0;否则,它返回 NULL。

如果 A 和 B 都非零且 NOT NULL,则逻辑 AND 运算符返回 1。例如:

SELECt 1 AND 1;
+---------+
| 1 AND 1 |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

如果 A 或 B 为零或 A 和 B 都为零,则逻辑 AND 运算符返回 0:

SELECT 1 AND 0, 0 AND 1, 0 AND 0, 0 AND NULL;
+---------+---------+---------+------------+
| 1 AND 0 | 0 AND 1 | 0 AND 0 | 0 AND NULL |
+---------+---------+---------+------------+
|       0 |       0 |       0 |          0 |
+---------+---------+---------+------------+
1 row in set (0.00 sec)

如果任一操作数非零或两个操作数均为 NULL,则逻辑 AND 运算符返回 NULL。

SELECT 1 AND NULL, NULL AND NULL;
+------------+---------------+
| 1 AND NULL | NULL AND NULL |
+------------+---------------+
|       NULL |          NULL |
+------------+---------------+
1 row in set (0.00 sec)

下表说明了组合 true、false 和 null 时 AND 运算符的结果。

TRUEFALSENULL
TRUETRUEFALSENULL
FALSEFALSEFALSEFALSE
NULLNULLFALSENULL

在实践中,您将在 SELECT、UPDATE、DELETE 语句的 WHERe 子句中使用 AND 运算符来形成条件。此外,您可以在 INNER JOIN 和 LEFT JOIN 子句的条件中使用 AND 运算符。

在评估包含 AND 运算符的表达式时,MySQL 会在确定结果后立即停止评估表达式的其余部分。

这称为短路评估。换句话说,AND 运算符是短路的。例如:

SELECT 1 = 0 AND 1 / 0 ;
+-----------------+
| 1 = 0 AND 1 / 0 |
+-----------------+
|               0 |
+-----------------+
1 row in set (0.01 sec)

在这个例子中,MySQL 只计算表达式 1 = 0 AND 1 / 0 的第一部分 1 = 0。

由于表达式 1 = 0 返回 0,因此 MySQL 可以确定整个表达式的结果,即 0。

因此,MySQL 不需要计算表达式的剩余部分,即 1/0;它将发出除以零错误。

MySQL AND 运算符示例

让我们使用示例数据库中的customers表进行演示。

以下语句使用 AND 运算符查找位于 California (CA), USA 的客户:

SELECT 
    customername, 
    country, 
    state
FROM
    customers
WHERe
    country = 'USA' AND 
    state = 'CA';
+------------------------------+---------+-------+
| customername                 | country | state |
+------------------------------+---------+-------+
| Mini Gifts Distributors Ltd. | USA     | CA    |
| Mini Wheels Co.              | USA     | CA    |
| Technics Stores Inc.         | USA     | CA    |
| Toys4GrownUps.com            | USA     | CA    |
| Boards & Toys Co.            | USA     | CA    |
| Collectable Mini Designs Co. | USA     | CA    |
| Corporate Gift Ideas Co.     | USA     | CA    |
| Men 'R' US Retailers, Ltd.   | USA     | CA    |
| The Sharp Gifts Warehouse    | USA     | CA    |
| West Coast Collectables Co.  | USA     | CA    |
| Signal Collectibles Ltd.     | USA     | CA    |
+------------------------------+---------+-------+
11 rows in set (0.00 sec)

通过使用 AND 运算符,您可以组合两个以上的布尔表达式。例如,以下查询返回位于美国加利福尼亚州且信用额度大于 100K 的客户。

SELECt 
    customername, 
    country, 
    state, 
    creditlimit
FROM
    customers
WHERe
    country = 'USA' AND 
    state = 'CA' AND 
    creditlimit > 100000;
+------------------------------+---------+-------+-------------+
| customername                 | country | state | creditlimit |
+------------------------------+---------+-------+-------------+
| Mini Gifts Distributors Ltd. | USA     | CA    |   210500.00 |
| Collectable Mini Designs Co. | USA     | CA    |   105000.00 |
| Corporate Gift Ideas Co.     | USA     | CA    |   105000.00 |
+------------------------------+---------+-------+-------------+
3 rows in set (0.00 sec)

总结
  • 使用 AND 运算符组合两个布尔表达式。当两个表达式都为真时,AND 运算符返回真;否则,它返回 false。
  • 使用 AND 运算符在 SELECT 语句的 WHERe 子句中形成条件。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号