Mysql 的 where 语法使用(三)

timg.jpeg

在 select 语句中,数据根据 where 子句中指定的搜索条件进行过滤。where 子句在表名( from 子句)之后给出

where 的简单使用

select * 
from sc 
where score = 80;

此 sql 语句表示查询 sc 表中 score 字段等于 80 的所有信息,输出为:

+------+------+-------+
| SId  | CId  | score |
+------+------+-------+
| 01   | 01   |  80.0 |
| 02   | 03   |  80.0 |
| 03   | 01   |  80.0 |
| 03   | 02   |  80.0 |
| 03   | 03   |  80.0 |
+------+------+-------+

在同时使用 order by 和 where子句时,应该让 order by 位于 where 之后, 否则将会产生错误

where 子句的操作符

操作符 说明
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between 介于指定值之间

检查单个值

select * 
from sc
where score < 60;

此 sql 语句表示在 sc 表中查询满足 score 字段小于 60 的数据,输出为:

+------+------+-------+
| SId  | CId  | score |
+------+------+-------+
| 01   | 02   |  40.0 |
| 04   | 02   |  59.0 |
| 04   | 03   |  59.0 |
| 06   | 01   |  31.0 |
| 06   | 03   |  34.0 |
+------+------+-------+

不匹配检查

select * 
from sc
where sid <> 2;

此 sql 语句表示查询 sc 表中 sid 字段不等于 2 的数据,语句中的 <> 操作符等同于 !=,输出为:

+------+------+-------+
| SId  | CId  | score |
+------+------+-------+
| 01   | 01   |  80.0 |
| 01   | 02   |  40.0 |
| 01   | 03   |  99.0 |
| 03   | 01   |  80.0 |
| 03   | 02   |  80.0 |
| 03   | 03   |  80.0 |
| 04   | 01   |  72.0 |
| 04   | 02   |  59.0 |
| 04   | 03   |  59.0 |
| 05   | 01   |  76.0 |
| 05   | 02   |  87.0 |
| 06   | 01   |  31.0 |
| 06   | 03   |  34.0 |
| 07   | 02   |  89.0 |
| 07   | 03   |  98.0 |
+------+------+-------+

范围值检查

select * 
from sc
where score between 60 and 100;

此 sql 语句表示查询 sc 表中 score 字段在 60 ~ 100 之间的数据,输出为:

+------+------+-------+
| SId  | CId  | score |
+------+------+-------+
| 01   | 01   |  80.0 |
| 01   | 03   |  99.0 |
| 02   | 01   |  70.0 |
| 02   | 02   |  60.0 |
| 02   | 03   |  80.0 |
| 03   | 01   |  80.0 |
| 03   | 02   |  80.0 |
| 03   | 03   |  80.0 |
| 04   | 01   |  72.0 |
| 05   | 01   |  76.0 |
| 05   | 02   |  87.0 |
| 07   | 02   |  89.0 |
| 07   | 03   |  98.0 |

其语法与其他 where 子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值,这两个值必须用 and 关键字分隔

空值检查

select *
from sc
where score is null;

此 sql 表示查询 sc 表中 score 值为空值的数据,输出为(因为此表中 score 字段没有空值的数据,所以查询结果为 Empty set):

Empty set (0.00 sec)

你可能感兴趣的:(Mysql 的 where 语法使用(三))