mysql where 集合_MySQL WHERE字句的使用方式与示例详情

本文详细介绍了MySQL中WHERE子句的使用方法,包括基本语法、条件运算符、逻辑运算符等,并通过实例演示了如何利用WHERE子句进行精确查询、范围查询及模糊查询等操作。

MySQL WHERE字句

在使用MySQL查询select语句时,可以使使用WHERE字句来指定查询条件,从FROM字句中间选取适当的数据行和列

可以使用一个或多个以逗号分隔的表,包括各种使用WHERE子句条件。但是WHERE子句的SELECT命令是一个可选部分。

您可以使用WHERE子句指定任何条件。

您可以指定一个以上的条件下使用AND或者OR运算符。

一个WHERE子句中可以使用的分散DELETE或UPDATE的SQL命令指定条件。

WHERE语法格式:

SELECT * FROM 表名 WHERE 查询条件

--示例:

已知数据库中有以下数据:

5ecb40ffbd32f84c02d928cd71c7093c.png

查询:查上表年龄在23岁的同学有哪些人!

语句:

SELECT * FROM BEIMU WHERE BEI_AGE='23'

执行结果

84e9067a75e91f4c98a3dcdd96a689b5.png

查询比23岁大的同学有哪些

SELECT * FROM BEIMU WHERE BEI_AGE>23

查询比23岁小的同学有哪些

SELECT * FROM BEIMU WHERE BEI_AGE<23

查询年龄不是23岁的同学

SELECT * FROM BEIMU WHERE BEI_AGE<>23

SELECT * FROM BEIMU WHERE BEI_AGE!=23

判定条件其结果取值为TRUE,FALSE,UNKNOWN(未知)

一、判断运算的语法分类如下:

算术运算符:+    -    *     /(处可以写成div)%(取值可以写成mod)

比较运算符:=     >     >=    )

逻辑运算符:&&(逻辑与可以写成 AND)  || (逻辑或也可以写成or) NOT(逻辑非)

范围表达式:between...and...(同样可表示 表达式 >=   and 表达式   <=)或者 not between...and...(同样可表示 表达式)

集    合:in(值,值1,值2...)    not in值,值1,值2...)  (可理解为:in 在...期间...中,not in 不在.....其中,期间,中)

模糊查询:LIKE    NOT LIKE,通配符使用:%表示0-那个字符,_下划线表示一个字符

位运算符:&(按位与)  |(按位或)

null空值判断:is null 与is not null,如果使用null=null,null<>null,null=0,null<>0,null=false等都不对

注意:如果是初学者,从文章开始看的,可先暂时对一下内容做个理解,后面我会对GROUP BY、‘having、order by和limit进行详细分析

二、group by 配合聚合函数一块使用

COUNT:计数、数、数数;量的计数

MAX:最大值

MIN:最小值

AVG:平均值

SUM:总和、求和、总数

SELECT的查询条件只能是GROUP BY 的字段或者聚合函数

三、having和where不同,where是从原数据中赛选,having是从查询的结果中再次筛选

where子句中不能使用组合函数,having中可以使用

四、order by排序

默认是升序,也可以在字段后面加ASC(升序)或者DESC(降序),可使用多列排序

五、分页limit 参数1 ,参数2

参数1:从第几行开始查询,行数从零开始

参数2:每页显示几行

MySQL中三种方式使用where条件,由好到坏:

在索引中使用where条件过滤不匹配的记录,这是在存储引擎层完成的

在使用索引覆盖来扫描(在Extra列中出现了Using index)来返还记录,直接从索引中过滤不需要的记录返回命中结果,这是在MySQL服务层完成的,但无需再返回查询记录

从数据层中返回数据,然后过滤不满足条件记录,这是在MySQL服务器完成的,MySQL需要从数据表中读出记录然后过滤

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值