6. SQL中And & Or运算符的使用

本文介绍了SQL语句中AND和OR运算符的基本概念及应用场景,并通过具体案例详细解释如何使用这两个运算符进行复杂的数据筛选。

目录

(一)前言

(二)And和Or的基本概念

1. 两个运算符的用途

2. 两个运算符的简述

(三)经典案列

1. AND 运算符实例

2. OR 运算符实例

3. 结合 AND 和 OR 运算符


(一)前言

       上一篇中我们学习了在Select语句后的Where子句中加入一个过滤条件去筛选部分数据,不过实际工作中一个过滤条件肯定是多数情况下无法满足我们的筛选要求的,两个三个甚至多个筛选条件的情况层出不穷。本篇中我将结合几个例子展开说明下And和Or的用法。

(二)And和Or的基本概念

1. 两个运算符的用途

      AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

2. 两个运算符的简述

       AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

运算符条件真伪结果
AND所有条件全为TRUETRUE
AND至少有一个条件为FALSEFALSE
OR所有条件全为FALSEFALSE
OR至少有一个条件为TRUETRUE

(三)经典案列

1. AND 运算符实例

       使用 AND 来显示所有价格为 79 并且Source of sales为 "Shipping" 的记录。

select * from [dbo].[spring05] where Price = 79 and [Source of sales] = 'Shipping'

2. OR 运算符实例

       使用 OR 来显示所有价格为 79 或者bp为 0的人。

select * from [dbo].[spring05] where Price = 79 or Bp = 0

3. 结合 AND 和 OR 运算符

       我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式)。此处我们筛选价格为79或者35,同时BP又等于0的记录。

select * from [dbo].[spring05] where (Price = 79 or Price = 35) and bp = 0

扩展知识点---AND和OR的优先级

       在上面的例子中我们用括号先确定了计算的优先级,即括号内的or语句先运算然后再计算AND。如果我们去掉括号,那SQL语句就变得如下:

select * from [dbo].[spring05] where Price = 79 or Price = 35 and bp = 0

        如果没有括号,Where后的子句就变为A or B and C,在SQL中and的优先级高于or,所以先计算B and C再用这个计算结果去和A做or结合得出最终结果。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值