适用范围:SQL Server
XQuery 支持逻辑和或运算符。
expression1 and expression2  
expression1 or expression2  
SQL Server 中的测试表达式 expression1,``expression2可能会导致空序列、一个或多个节点序列或单个布尔值。 根据结果,按照下列方式确定它们的有效布尔值:
如果测试表达式的结果是空序列,则表达式的结果为 False。
如果测试表达式的结果是单个布尔值,则此值便为表达式的结果。
如果测试表达式的结果是包含一个或多个节点的序列,则表达式的结果为 True。
否则,将引发静态错误。
然后,逻辑和或运算符将应用于具有标准逻辑语义的表达式生成的布尔值。
以下查询从产品目录中检索特定产品模型的前端小图片( <Picture> 元素)。 请注意,对于每一个产品说明文档,目录都可以存储具有不同属性(如大小和角度)的一个或多个产品图片。
SELECT CatalogDescription.query('  
     declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";  
     for $F in /PD:ProductDescription/PD:Picture[PD:Size="small"   
                                                 and PD:Angle="front"]  
     return   
         $F   
    ') as Result  
FROM  Production.ProductModel  
where ProductModelID=19  
结果如下:
<PD:Picture   
  xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">  
  <PD:Angle>front</PD:Angle>  
  <PD:Size>small</PD:Size>  
  <PD:ProductPhotoID>31</PD:ProductPhotoID>  
</PD:Picture>