SQL数据过滤基本用法

本文介绍了SQL数据过滤的基本方法,重点讲解了如何使用WHERE语句配合运算符、逻辑运算(AND, OR, NOT, IN)及通配符(%、_、[])进行数据筛选。同时提醒读者在WHERE与ORDER BY结合时,ORDER BY应置于WHERE之后,且在处理AND和OR的优先级时可借助括号明确顺序。" 99936406,8764075,Springboot可执行jar的秘密:从源码解析启动过程,"['Springboot开发', 'Java', '程序启动', 'jar打包', '源码解析']

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

SQL数据过滤基本用法

SQL中的数据过滤主要应用WHERE语句,并结合一系列的运算符、逻辑运算和通配符过滤实现对数据的过滤。

#运算符的种类
= #等于,注意不要写成了==
<> #不等于,与!=一致
!= #不等于
< #小于
<= #小于等于
!< #不小于,与>=一致
> #大于
>= #大于等于
!> #不大于,与<=一致
BETWEEN AND #使用类似于英语语法,BETWEEN 数字1 AND 数字2
IS NULL #判断缺失值

那么,知道了以上的运算符之后,该怎么使用这些运算符去过滤数据呢?其实很简单,就是在WHERE语句之后注明条件即可。

SELECT city
FROM CityListing
WHERE city = 'Beijing'; #条件为city的值等于'Beijing',就是只有符合该条件的行才能被检索
SELECT grade
FROM class_one
WHERE grade BETWEEN 60 AND 100; #条件为grade的值介于60和100之间(具体包不包括60和100取决于DBMS)

单单只有运算符是不够的,在更复杂的数据过滤中,还要结合逻辑运算的使用。所谓逻辑运算,就是AND, OR, NOT, IN四个运算符。这四个运算符都是在WHERE语句中使用。

SELECT column_a, column_b, column_c
FROM table_a
WHERE column_a = 10 AND column_b > 10; #条件是column_a = 10且column_b > 10
SELECT column_a, column_b, column_c
FROM table_a
WHERE column_a = 10 OR column_b > 10; #条件是column_a = 10或column_b > 10
SELECT column_a, column_b, column_c
FROM table_a
WHERE column_a IN ('John','Jeremy'); #条件是column_a = 'John' 或	'Jeremy'
SELECT column_a, column_b, column_c
FROM table_a
WHERE NOT column_a = 10;#条件是column_a不等于10

此外,还会经常使用到通配符筛选数据。常用的通配符有三类:
百分号通配符(%),下划线通配符(_)和方括号通配符([])。通配符筛选数据需要结合LIKE语句实现。LIKE语句的用法也非常接近英语语法,在WHERE中使用。

# %可以匹配除NULL外的所有的字符,包括空字符
SELECT column_a
FROM table_a
WHERE column_a LIKE 'China%'; #条件是以China开头
# _可以匹配除NULL外的所有的单个字符
SELECT column_a
FROM table_a
WHERE column_a LIKE '_hina' ; #条件是第二个字母至第五个字母分别是hina,第一个字母随意
# []可以匹配一个方括号内的出现的字符
SELECT column_a
FROM table_a
WHERE column_a LIKE '[AB]%' #条件是开头为A或B

最后提两点注意:

  1. 在WHERE和ORDER BY混用的情况下,ORDER BY放到WHERE的后面
  2. AND的优先级要比OR高,所以AND和OR混用时可以使用括号( )保证合适的优先次序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值