MySQL WHERE字句
在使用MySQL查询select语句时,可以使使用WHERE字句来指定查询条件,从FROM字句中间选取适当的数据行和列
可以使用一个或多个以逗号分隔的表,包括各种使用WHERE子句条件。但是WHERE子句的SELECT命令是一个可选部分。
您可以使用WHERE子句指定任何条件。
您可以指定一个以上的条件下使用AND或者OR运算符。
一个WHERE子句中可以使用的分散DELETE或UPDATE的SQL命令指定条件。
WHERE语法格式:
SELECT * FROM 表名 WHERE 查询条件
--示例:
已知数据库中有以下数据:

查询:查上表年龄在23岁的同学有哪些人!
语句:
SELECT * FROM BEIMU WHERE BEI_AGE='23'
执行结果

查询比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需要从数据表中读出记录然后过滤
本文详细介绍了MySQL中WHERE子句的使用方法,包括基本语法、条件运算符、逻辑运算符等,并通过实例演示了如何利用WHERE子句进行精确查询、范围查询及模糊查询等操作。
4万+

被折叠的 条评论
为什么被折叠?



