文章目录
一、前言语法
- 一、前言语法
- 二、实例一
- 二、实例二
- 三、实例三
- 四、实例四
- 五、实例五
- 六、实例六
- 七、实例七
- 八、实例八
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) --筛选备注为空的
演示: