SQL语法--第三天

语法

对单个数值、字符或时间的筛选--LIKE

LIKE 的作用

LIKE 的作用类似于用等号对字符串的比较。

比如,我们想筛选出name列中为Lucy的记录,可以利用 LIKE 使用字符串 'Lucy' 进行匹配。

SQL 会对 name 列的每一行进行匹配,找出完全符合的值并输出。

_ 下划线通配符

与直接使用等号不同,LIKE 在匹配字符串时支持使用通配符来进行模糊查找。

下划线通配符表示的是任意一个常规字符,即没有特殊含义的字符。

比如说当我想要匹配 name 列中的 Gary 与 Jary 时,G与J都是常规字符被下划线替代后,可以使用 '_ary' 来表示。

% 百分号通配符

百分号通配符 % 表示的是零到任意数量个常规字符。

比如,我们想要查找以字母 'y' 结尾的所有名称,就可以用字符串 '%y' 进行匹配。

对时间的匹配

在数据库中,时间类型是以字符的形式存储的,所以我们也可以对时间数据进行类似的匹配。

比如我们想要找到11月的订单,可以对订单时间以‘%-11-%’的方式匹配

SELECT *
FROM orders
WHERE order_time LIKE '%-11-%';

小结

处理多个条件下的数据筛选

逻辑运算符

在 SQL 中,逻辑运算符指的是对多个条件连接的运算,常见的关系有并且、或者、非这三种。

与 Python 类似,我们只需要将一个或多个条件表达式用逻辑运算符连接。

多个条件的连接

我们可以在一次查询中使用多个逻辑关系,但为了避免出错,请使用小括号来指定优先级。

像刚才的练习一样,筛选数据时经常需要:

指定一个连续的区间,比如双十一期间 (11-01~11-31);

指定一些选项,比如商品编号(200011,200012,200023)。

这些条件都是可以看做是按照范围筛选,我们可以通过BETWEEN AND 与 IN 来处理

BETWEEN AND

若我们要设定 “从X到Y之间的” 类似于这样的设定范围的条件。除了使用逻辑运算符外,可以利用BETWEEN A AND B 这样的格式。

比如,当我们要筛选2000年到2021年出生的所有人,就可以设定:

WHERE birthday BETWEEN '2000-01-01' AND '2021-12-31'

BETWEEN A AND B 组合成了一个完整的条件表达式。

其中A 和 B 是组成区间范围的两个值,第一个值为范围的起点;第二个值为范围的终点。

起点A和终点B都包含在这个范围内。

IN

若我们要设定 “满足X或Y或Z的” 类似于这样指定成员进行筛选的条件,除了使用逻辑运算符外,可以利用IN ( X,Y,Z ) 这样的格式。

比如,当我们要筛选四川省或重庆市的所有用户,就可以设定:

WHERE province IN ('四川省','重庆市')

其中,IN 运算括号中的值称为成员。

数据库会将每一行的数据依次与给定的成员匹配,只要有一个成员满足即可。

小结

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值