MySQL基础知识——过滤数据
点击上方SQL数据库开发,关注获取SQL视频教程
SQL专栏
WHERE的作用
数据库通常会存储大量的数据,但是我们一般很少需要查询出所有数据。会根据需求筛选过滤出我们需要的数据,WHERE就是用来筛选我们需要的数据。
WHERE语法
SELECT column1, column2,...columnN
FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....]
示例数据
我们以customers表中的数据来演示WHERE子句的用法。
表customers
简单示例
例如我们只想看看城市为广州的客户信息,就可以使用WHERE来筛选。
SELECT * FROM customers
WHERE `城市`='广州'
结果为:
WHERE子句操作符
上述的简单示例我们使用了操作符等号(=),此外WHERE后面还可以使用一下操作符:
操作符 | 说明 |
---|---|
= | 等于 |
<> 或 != | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 介于两个值之间 |
LIKE | 模糊匹配 |
IN | 指定针对某个列的多个可能值 |
EXISTS | 在子查询中匹配到符合条件的数据行 |
上面的简单示例我们只使用了一个城市过滤条件,下面我们再添加一个姓名为王五的过滤条件,可以这样写
SELECT * FROM customers
WHERE `城市`='广州'
AND `姓名`='王五'
结果为:
通过使用AND来连接两个条件,表示要同时满足这两个条件的数据行才会被显示出来。可以继续使用AND来添加更多的条件,当没有数据行能够同时满足所有条件时,这时候就没有数据行被显示了。例如,我们再加一个省份是浙江省的条件:
SELECT * FROM customers
WHERE `城市`='广州'
AND `姓名`='王五'
AND `省份`='浙江省'
结果为:
不匹配过滤
等号表示匹配,那么不等号就是不匹配,当我们希望显示的数据是排除掉某些数据行的时候,可以使用不等号(<>或!=),例如我想查询广东省以外的客户信息,可以这样写:
SELECT * FROM customers
WHERE `省份`<>'广东省'
结果为:
范围值过滤
要过滤某个区间的数据可以使用BETWEEN,例如我们想查找客户ID在3到6之间的数据行,可以这样写
SELECT * FROM customers
WHERE `客户ID` BETWEEN 3 AND 6
结果为:
注意:这里的BETWEEN 是包含起始值3和终止值6的
引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
例如:
文本
--这是正确的:
SELECT * FROM Customers WHERE 城市='北京'
--这是错误的:
SELECT * FROM Customers WHERE 城市=北京
--这是正确的:
SELECT * FROM Customers WHERE 客户ID=5
--这是错误的:
SELECT * FROM Customers WHERE 客户ID='5'
——End——
后台回复关键字:1024,获取一份精心整理的技术干货 后台回复关键字:进群,带你进入高手如云的交流群。 推荐阅读 这是一个能学到技术的公众号,欢迎关注