上期回顾
上次的基础操作中我们过了一遍sql语言表操作中最基本的所有命令,包括了表的创建、数据的插入和查询、重复数据的去除等操作。
本期我们就要开始引入逻辑相关的操作命令了:
1.where条件过滤
如果需要从表中提取指定的数据,可以采用where语句。语法如下:
select 字段名 from 表名 where 字段 运算符 值;
我们注意到了这里出现了一个“运算符”。这个具体指的是什么呢?我们可以用一张表来演示一下:
运算符 | 解释 |
= |
等于 |
<> |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
= |
等于 |
BETWEEN |
在某个范围内 |
LIKE |
搜索匹配的字符串模式 |
除了上面的基本运算符之外,我们还有一些比较常用的运算符——
and 和 or 运算符
将两个或多个条件结合起来,以实现多个条件的筛选:
and要求多个条件同时满足;or则只需多个条件中有一个满足即可。语法如下:
select 字段名 from 表名 where 字段1 运算符 值1 and/or 字段2 运算符 值2;
没错,我们可以发现这个where还是在select语句中使用的
2.like搜索语句
之前我们提到,where子句的运算符中包含“like”。这个搜索具体怎么用呢?现在我们一起来看看
like运算符用来搜索匹配字符串中的指定模式。我们用百分号%
来匹配相应的字符——
select 字段名 from 表名 where 字段 like 字符串;
我们来看一个实例:现在我们拥有的表如上。可以看出第四列特别突兀。我们如果要想办法把它提取出来,就要用到like:
select * from dept where loc like "%大厅";
成功输出结果。事实上我们这样找到的数据是包含了所有末尾是“大厅”的结果。
tips:这里我们看到%用来匹配了任意长度的值,如果要限定匹配一个值呢?可以用_
下划线试试哦~
3. in 语法匹配多个值
in运算符也一样是在where子句中使用的。它可以返回匹配多个搜索条件之一的值语法如下:
select 字段名 from 表名 where 字段名 in (值1,值2,……)
我们来看一个具体的例子——上面的图中就显示了in的经典用法:将地点名字带有“一楼”的deptno筛选了出来,然后把筛选出来的编号作为条件来筛选名字,岂不妙哉?
4. between语句范围指定
学完上面的逻辑结构之后,此时我提问:如果想表示一个范围,应该怎样实施呢?
很简单,用>= and <=
这一条件就可以了~
不过还可以更简单——我们有一个特定的运算符between:
between 字段名 from 表名 where 字段名 between 值1 and 值2;
这个功能在时间的筛选中往往很有用——如上,我们就成功输出了入职时间在指定范围内的员工姓名。
*当然,你也可以选择输出不在该时间范围内的员工,如上👆
本期小结
不管是什么语言,逻辑都是非常重要的。以上就是sql语言的常用逻辑语句,多加练习和运用,它们可以变化出我们缤纷的代码世界。