6、WHERE:条件查询数据
在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。
使用 WHERE 关键字的语法格式如下:
WHERE 查询条件
查询条件可以是:
- 带比较运算符和逻辑运算符的查询条件
- 带 BETWEEN AND 关键字的查询条件
- 带 IS NULL 关键字的查询条件
- 带 IN 关键字的查询条件
- 带 LIKE 关键字的查询条件
单一条件的查询语句
单一条件指的是在 WHERE 关键字后只有一个查询条件。
例 1
在 tb_students_info 数据表中查询身高为 170cm 的学生姓名,SQL 语句和运行结果如下。
mysql> SELECT name,height FROM tb_students_info WHERE height=170;
+-------+--------+
| name | height |
+-------+--------+
| Susan | 170 |
+-------+--------+
可以看到,查询结果中记录的 height 字段的值等于 170。如果根据指定的条件进行查询时,数据表中没有符合查询条件的记录,系统会提示“Empty set(0.00sec)”。
例 2
在 tb_students_info 数据表中查询年龄小于 22 的学生姓名,SQL 语句和运行结果如下。
mysql> SELECT name,age FROM tb_students_info-> WHERE age<22;
+------+------+
| name | age |
+------+------+
| John | 21 |
+------+------+
可以看到,查询结果中所有记录的 age 字段的值均小于 22 岁,而大于或等于 22 岁的记录没有被返回。
多条件的查询语句
在 WHERE 关键词后可以有多个查询条件,这样能够使查询结果更加精确。多个查询条件时用逻辑运算符 AND(&&)、OR(||)或 XOR 隔开。
- AND:记录满足所有查询条件时,才会被查询出来。
- OR:记录满足任意一个查询条件时,才会被查询出来。
- XOR:记录满足其中一个条件,并且不满足另一个条件时,才会被查询出来。
例 3
在 tb_students_info 表中查询 age 大于 21,并且 height 大于等于 175 的学生信息,SQL 语句和运行结果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 AND height>=175;
+--------+------+--------+
| name | age | height |
+--------+------+--------+
| Henry | 23 | 185 |
| Jim | 24 | 175 |
| Thomas | 22 | 178 |
+--------+------+--------+
可以看到,查询结果中所有记录的 age 字段都大于 21 且 height 字段都大于等于 175。
例 4
在 tb_students_info 表中查询 age 大于 21,或者 height 大于等于 175 的学生信息,SQL 语句和运行结果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 OR height>=175;
+--------+------+--------+
| name | age | height |
+--------+------+--------+
| Dany | 25 | 160 |
| Green | 23 | 158 |
| Henry | 23 | 185 |
| Jane | 22 | 162 |
| Jim | 24 | 175 |
| Lily | 22 | 165 |
| Susan | 23 | 170 |
| Thomas | 22 | 178 |
| Tom | 23 | 165 |
+--------+------+--------+
可以看到,查询结果中所有记录的 age 字段都大于 21 或者 height 字段都大于等于 175。
例 5
在 tb_students_info 表中查询 age 大于 21,并且 height 小于 175 的学生信息和 age 小于 21,并且 height 大于等于 175 的学生信息,SQL 语句和运行结果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 XOR height>=175;
+-------+------+--------+
| name | age | height |
+-------+------+--------+
| Dany | 25 | 160 |
| Green | 23 | 158 |
| Jane | 22 | 162 |
| Lily | 22 | 165 |
| Susan | 23 | 170 |
| Tom | 23 | 165 |
+-------+------+--------+
可以看到,查询结果中所有记录的 age 字段都大于 21 且 height 字段都小于 175。tb_students_info 数据表中没有 age 字段小于 21 且 height 字段大于等于 175 的记录。
OR、AND 和 XOR 可以一起使用,但是在使用时要注意运算符的优先级。
查询条件越多,查询出来的记录就会越少。因为,设置的条件越多,查询语句的限制就更多,能够满足所有条件的记录就更少。为了使查询出来的记录正是自己想要的,可以在 WHERE 语句中将查询条件设置的更加具体。
6、WHERE:条件查询数据相关推荐
- mongorepository查询条件_springboot jpa + mongodb实现多条件查询数据
问题一:单条件查询如何查? 问题二:非IBaseMongoRepository接口原生的方法,采用自定义仓库? 问题三:如何结合jpa和mogodb语句从mogodb数据库查询出数据? 解决问题一: ...
- android多条件查询数据,Android GreenDao 条件查询问题
使用GreenDao保存了全国城市的属性(名字,代码,省份等等),保存可以成功,无条件查询全部数据时可以成功: private List queryCitiesInfo(){ List cityInf ...
- openlayers4 wfs条件查询数据坐标投影无法转化投影的问题EPGS:4548
简答介绍一下,openlayers只支持两种投影一个是EPGS:3857和EPGS:4326 我的地图是EPGS:3857,而我的geoserver?地图⑩用EPGS:4548北京投影,我常用的经纬度 ...
- mysql list集合查询_MyBatis 传入List集合作为条件查询数据
使用的是SSM框架,数据库是MySQL,做查询的时候传入List集合,使用SQL语句的in方式查询数据 主要有两点问题:我的List集合是利用的另外一个语句查询出来的,传入参数是int类型,返回值是i ...
- Guns根据条件查询数据_入门试炼04
一.找到Controler,对方法进行修改即可实现 二.修改list方法 修改钱的方法: /*** 获取房屋管理列表**wrapper 条件*/@RequestMapping(value = &quo ...
- 【.Net】C# 将Access中时间段条件查询的数据添加到ListView中
一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加 ...
- 用纯JSP实现按条件查询数据库
用纯JSP实现按条件查询数据库 不使用servlet跟框架的情况下,以纯jsp实现.search.jsp网页提交查询值,然后search.jsp用request.getParameter()方法取得查 ...
- Android Realm数据库多条件查询
前面项目有用到本地数据库,处理的数据量也有点大,然后就用到了realm,现在在这里记录下多条件查询... 引用包什么的,实体类该怎么写这里就不说了,就说说怎么进行多条件查询 比如是你要查询用户(以姓李 ...
- ava查询mysql的数据_MYSQLi数据访问查询数据
单条件查询 数据查询 请输入汽车品牌: 汽车代号 汽车名字 系列代号 汽车油耗 汽车价格 $tj = " 1=1 ";//恒成立条件 $name = ""; i ...
最新文章
- 转	The connection to adb is down, and a severe error
- 火爆全网!《算法刷题宝典》资源,免费下载!(含代码数据)
- solidworks钣金插件_高效掌握SolidWorks钣金零件加工设计概念
- oracle第二章数据的运用,第二章:oracle_sql语句之限制(where子句)和排列数据(order by子句)...
- 在Linux PC上查看arm交叉编译的可执行文件依赖的动态库
- php中orm模型,模型model
- JavaMelody开源系统性能监控软件:
- Adobe illustrator 图的放置和微调 - 连载 9
- 华为机试——句子逆序
- 5 批量更新多条记录_批量更新现有记录的默认表格方法
- 用R语言实现数据离散化
- 盛世昊通谈跨界造车风潮,不同车企到底打什么主意
- 阿里巴巴达摩院发布2019十大科技趋势:数字身份将成为第二张身份证
- 优秀html5网页设计,五个国外优秀的HTML5酷站欣赏|H5开发第二课
- patterns in java_Patterns-in-Java
- HISI3559A 使用yolov3 (VI-VPSS-VO)实时目标检测
- 邮件解析引擎FastMail库大功告成!
- 基于JAVA竞赛信息发布及组队系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
- UTF8与GBK字符编码之间的相互转换
- 学生的致谢笑死!导师:致谢别矫情,没屁在那硬编!