接上一篇,还有最后一个条件查询没讲,这篇就单独讲讲条件查询
条件查询(过滤数据)
在SELECT语句中,最常见的是使用WHERE子句指定查询条件对数据进行过滤,其语法格式如下:
SELECT 字段名1,字段名2,……
FROM 表名
WHERE 过滤条件;
where中的条件表达式一般由下表所示运算符构成
一、比较运算符
例:
查询member表,输出男会员的详细信息。
可以看见显示的全是男会员的详细信息,使用where子句的条件是 ”男“,就自动把性别为女会员过滤,只显示出男会员。这就是“ = ”运算符的操作。
再看看“<>“的作用是什么
例:查询book表中数量为50本以上的图书详细信息。 -- 这里查询的是50本以上的图书,所有我们可以使用 “大于号” 来进行查询
在b_number列可以看见显示的是50本以上的图书详细信息。
二、范围运算符
BETWEEN...AND用来查询某个范围的值,语法格式如下:
WHERE 字段名 [NOT] BETWEEN 值1 AND 值2
注意哈:若字段的值在值1和值2的范围内(该范围包括值1值2),则满足条件,加上NOT表示不在范围内满足条件。 值1≤值2
例:查询member表,输出2018的会员详细信息。
就可以看见2018年注册的会员详细信息了
三、属于运算符
使用 IN 用来查询某个值是否在一个值列表中,语法格式如下:
WHERE 字段名 [ NOT ] IN (值1,值2,值3,……,值n);
需要注意的是,若字段的值在IN括号内,则满足条件。加上NOT表示不在值列表中满足条件
例:查询member表,输入会员号为:V00001,V00003,V00005的会员详细信息。
这查询的是会员详细信息,所有我们使用 SELECT * FROM MEMBER 来进行查询
select *
from member
where m_id IN ('V00001','V00003','V00005'); -- 注意的是括号里面需要在单引号里面写值并且用逗号隔开。
查询结果为上图
四、模糊匹配符
LIKE 用来实现模糊查询,和两种通配符一起使用: " % " 和下划线 " _ " 这不要和计算机通配符搞混哈
1) " % " 匹配任意长度的字符,长度甚至可以为0.
2)" _" 只能匹配任意一个字符。
例: 查询member表,输出王姓会员的详细信息
select *
from member
where m_name like '王%'; -- 注意m_name后不用再接等号了,可以直接接上 LIKE即可
结果上图所示
五、空值判断符
IS NULL 用来判断一个表达式值是否为空,语法格式如下:
WHERE 字段名 IS [ NOT ] NULL ;
说明:若字段的值为空,则满足条件。加上 NOT 表示不为空满足条件
例: 查询member表,输出联系电话为空的会员详细信息。
select *
from member
where m_tel is not null;
如上图,可以看见m_tel 列所有的信息都为 Null 。
六、逻辑运算符
查询条件可以是一个条件表达式,也可以是多个表达式的组合。逻辑运算符能够连接多个条件表达式,构成一个复杂的查询条件。
逻辑运算符包括以下三种
1)AND(&&):连接两个条件。当且仅当两个条件表达式都成立,那么组合起来的条件成立
2)OR(||):连接两个条件。如果两个条件表达式中任何一个成立,那么组合起来的条件成立
3)NOT( ! ): 连接一个条件表达式,对给定条件取反。
例:查询member表,输出性别为男的张姓会员的详细信息。
select *
from member
where m_name like ('张%') and m_gender='男';
注意给出的条件再选择逻辑运算符,例题给的是性别为男的张姓会员,所以要满足两个条件,一个性别为男,一个为张姓。所以我们可以使用 AND 进行条件查询。
本章就到这噜,喜欢的可以点点赞,那我们下期再见啦!!!