快速实战SQL (四) - 高级数据过滤

本文介绍了SQL中用于高级数据过滤的技巧,包括使用AND和OR操作符组合WHERE子句,理解求值顺序,利用IN操作符进行范围判断,以及运用NOT操作符进行条件否定。IN操作符因能动态建立WHERE子句且执行效率高而受到青睐,NOT操作符在复杂查询中的作用不可忽视。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

😄 每天5min小学一下,拒绝内卷,休息~

本文学习如何做高级数据过滤【5 mins 快速入门】 -> 组合where语句 (搭配AND语句、or语句使用)、IN和NOT操作符。

🚀导航:

ID算法
NO.11、组合WHERE子句
NO.22、IN操作符
NO.33、NOT操作符

1、组合WHERE子句:

1.1、AND操作符:

SELECT c1, c2, c3
FROM tb1
WHERE c1='id1' AND c2<=666 AND c3>666; # 可以读个AND连接多个条件

1.2、OR操作符:

SELECT c1, c2, c3
FROM tb1
WHERE c1='id1' OR c2='id2'; # 第一个条件满足,不管后面条件了

1.3、求值顺序:

  • SQL和多数语言一样,在处理OR操作符前,优先处理AND操作符。
  • 必要时借助圆括号,圆括号优先级更高。
SELECT c1, c2, c3
FROM tb1
WHERE (c1='id1' OR c2='id2') AND c3>=666; # 必要时,要用括号括住。圆括号优先级更高。

2、IN操作符:

  • 用来判断是否在指定范围内。IN操作符后跟由逗号分隔的合法值,这些值必须在圆括号中。和OR操作符功能类似。
  • IN的最大优点是可以包含其他SELECT语句,能更动态地建立WHERE子句。
  • IN操作符一般比OR操作符执行得更快。
SELECT c1, c2, c3
FROM tb1
WHERE c1 IN ('id1, id2') # 等价于 WHERE c1='id1' or c2='id2'; 
ORDER BY c2;

3、NOT操作符:

  • WHERE子句中用来否定其后条件的关键字。
  • 像下面这种简单的WHERE子句使用NOT没啥优势,但在更为复杂的子句总,NOT的优势才能显示出来。
SELECT c1, c2, c3
FROM tb1
WHERE NOT c1='id1' # 等价于WHERE c1!='id1'
ORDER BY c2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#苦行僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值