在本教程中,将学习如何使用SQL Server AND运算符组合多个布尔表达式。
AND是一个逻辑运算符,用于组合两个布尔表达式。仅当两个表达式求值为TRUE时,它才返回TRUE。
以下说明了AND运算符的语法:
boolean_expression AND boolean_expression
boolean_expression是任何有效的布尔表达式,其计算结果为TRUE,FALSE和UNKNOWN。
下表显示使用AND运算符组合:TRUE,FALSE和UNKNOWN值时的结果:
| TRUE | FALSE | UNKNOWN | |
|---|---|---|---|
| TRUE | TRUE | FALSE | UNKNOWN | 
| FALSE | FALSE | FALSE | FALSE | 
| UNKNOWN | UNKNOWN | FALSE | UNKNOWN | 
在表达式中使用多个逻辑运算符时,SQL Server始终首先计算AND运算符。 但是,可以使用括号更改评估顺序。
SQL Server AND运算符示例
我们将使用示例数据库中的products表进行演示,表的结构如下:

A. 使用AND运算符示例
以下示例查找类别标识号(category_id)为1且价格大于400的产品:
SELECT
    *
FROM
    production.products
WHERE
    category_id = 1
AND list_price > 400
ORDER BY
    list_price DESC;
执行上面查询语句,得到以下结果:

B. 使用多个AND运算符示例
以下语句查找满足以下所有条件的产品:类别编号(category_id)为1,价格大于400,品牌编号(brand_id)为1:
SELECT
    *
FROM
    production.products
WHERE
    category_id = 1
AND list_price > 400
AND brand_id = 1
ORDER BY
    list_price DESC;
执行上面查询语句,得到以下结果:
C. 使用AND与其他逻辑运算符
请参阅以下查询示例:
SELECT
    *
FROM
    production.products
WHERE
    brand_id = 1
OR brand_id = 2
AND list_price > 1000
ORDER BY
    brand_id DESC;
执行上面查询语句,得到以下结果:

在这个例子中,在条件中使用了OR和AND运算符。与往常一样,SQL Server首先评估AND运算符。因此,查询检索到品牌编号为2且价格大于1000的产品或品牌编号为1的产品。
要获得品牌编号为1或2且价格大于1000的产品,请使用括号,如下所示:
SELECT
    *
FROM
    production.products
WHERE
    (brand_id = 1 OR brand_id = 2)
AND list_price > 1000
ORDER BY
    brand_id;
执行上面查询语句,得到以下结果:

在本教程中,学习了如何使用SQL Server AND运算符组合两个布尔表达式。
						上一篇:
								SQL Server数据查询
												下一篇:
								SQL Server连接表
												
						
						
					
					
					