sqlsever2019:where子句讲解(三:like关键字)

一、前言语法

like是用来匹配关键字的,意识是如果一段字符某个关键字,这一段字符就能被匹配查询到。跟我们正则表达式简单多了。具体看下面例子。

基本语法:
通配符%:可以匹配多个或多个字符的任意字符串
_下划线:匹配任何单个字符
[]:匹配指定范围或集合的任何单个字符
[^]:不属于指定范围火集合的任何单个字符
between:指定范围之间

二、实例一

在Emploee表中查询性“肖”的员工信息。

use db_Test
select * from Employee
where name like'肖%' --使用like和通配符%

演示:
在这里插入图片描述

二、实例二

交流群:696774324

在Employee表中查询性“章”并且最后一个字是“婷”的员工信息。

select * from Employee
where name like'章_婷'

演示:
在这里插入图片描述

三、实例三

在Employee表中查询Age在25到27之间的员工信息。

select * from Employee
where Age like '2[5-7]'

演示:
在这里插入图片描述
[5-7]意思就是五到七的意思。

四、实例四

在Employee表中查询Age不在25-27之间的员工信息。

select * from Employee
where Age like '2[^5-7]'

演示:
在这里插入图片描述

五、实例五

用between…and查询Age在25到27之间的员工信息。

select * from Employee
where Age between 25 and 27

演示:
在这里插入图片描述

六、实例六

is(not) null关键字用于对空值判断。具体举例如下:
少选性别为空的人

select * from Employee
where Sex is null

查询性别不为空的人:

select * from Employee
where Sex is  not null

演示:
在这里插入图片描述

七、实例七

in关键字用来指定列表的搜索条件,确定指定的值是否与子查询或列表中的值相匹配。
举例:在Employee表中查询Id是001,002和003的员工信息。

select * from Employee
where ID in('001','002','003')

演示:
在这里插入图片描述
同样的道理,如果不是在这些id,则:

select * from Employee
where ID not in('001','002','003')

演示:
在这里插入图片描述
再来个例子,比如查询表中年龄大于雨欣和雨涵的员工信息:

select * from Employee
where Age > all
(
select Age from Employee
where Name in ('雨欣','雨涵')
)

演示:
在这里插入图片描述
age>all是大于雨欣和雨涵的的年龄最大值。

八、实例八

exists关键字用于指定一个子查询,测试行是否存在。
举例子如下:
在子查询中指定了结果集为null,并且使用exists求值,此时值仍然为true.

select * from Employee  --把所有的打印出来看看
select ID,Name from Employee
where exists(select null)  --筛选备注为空的

演示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

川川菜鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值