MySql:SELECT 语句(三) WHERE 指定查询条件
1、WHERE 子句条件操作符
包括:> 、<、>=、<=、!= 、=、BETWEEN ... AND ...(在指定的两个值之间)
示例:
1)select * from student where stu_id=267;
2)select * from student where stu_id<267;
3)select * from student where stu_id between 267 and 305;
空值检查:使用 NULL 关键字
select * from student where stu_id is null;
2、WHERE 子句逻辑操作符
1) AND
如果需要使用多个列一起过滤才能查询出要查询的结果,可以使用 AND 进行连接。
select * from student where stu_name="test13" and stu_id=26;
2)OR
与 AND 相反,只要匹配任一条件就可以。
select * from student where stu_id=26 or stu_id=27;
3)计算次序
WHERE 可以包含任意数目的 AND 和 OR。允许两者结合以进行复杂和高级的过滤。
AND 的优先级高于 OR。也就是说在 SQL 中如果 AND 和 OR 混合使用,那么会优先运算 AND 然后在运算 OR。
例如:
SELECT * FROM products WHERE pro_id = 3 OR pro_id=4 AND pro_price>10;
那么对于 SQL 的理解是:查询 id 为 4 并且价格大于 10 或者 id 为3 的任意条件的产品信息。
如果要实现查询 id 为 3 或 4 并且价格大于 10 的产品信息,则需要使用圆括号来对操作符进行分组。
SELECT * FROM products WHERE (pro_id = 3 OR pro_id=4) AND pro_price>10;
小贴士:如果 AND 和 OR 同时使用,不管什么情况下,最好都使用圆括号来进行分组,避免造成不必要的歧义。
3、 IN
IN 用来指定条件范围,范围中的每个条件都可以进行匹配。用逗号分隔,全部括在圆括号中。
SELECT * FROM products WHERE pro_id IN (3, 4) AND pro_price>10;
作用和 OR 相同。使用 IN 的优点:
- 在使用较长的选项清单时,使用 IN 更为清楚直观。
- 使用 IN 时,计算次序也更加清楚。
- IN 比 OR 执行更快。
- IN 的最大有点是可以包含其他 SELECT 语句。
4、NOT IN
用来否定后面跟的条件。
SELECT * FROM student WHERE stu_id NOT IN(26, 303); //表示查询 stu_id 为 26、303 之外的学生信息
MySql:SELECT 语句(三) WHERE 指定查询条件的更多相关文章
- 【MYSQL】update/delete/select语句中的子查询
update或delete语句里含有子查询时,子查询里的表不能在update或是delete语句中,如含有运行时会报错:但select语句里含有子查询时,子查询里的表可以在select语句中. 如:把 ...
- 指定查询条件,查询对应的集合List(单表)
TestDao.java(测试类) @Test public void findCollectionByConditionNoPage(){ ApplicationContext ac = new ...
- mysql SELECT语句 语法
mysql SELECT语句 语法,苏州大理石方箱 作用:用于从表中选取数据.结果被存储在一个结果表中(称为结果集). 语法:SELECT 列名称 FROM 表名称 以及 SELECT * FROM ...
- 判断语句(if...else)if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码
判断语句(if...else) if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码. 语法: if(条件) { 条件成立时执行的代码 } else { 条件不成立时 ...
- MySQL select 语句指定字段查询
指定字段查询 SELECT 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as al ...
- mysql select语句查询流程是怎么样的
select查询流程是怎么样的 mysql select查询的数据是查询内存里面,如果没有查询的数据没有在内存,就需要mysql的innodb引擎读取磁盘,将数据加载的内存后在读取.这就体现了,mys ...
- JAVA / MySql 编程—— 第三章 高级查询(一)
1. 修改表: (1)修改表名语法: ALTER TABLE <旧表名> RENAME [ TO ] <新表名>: 注意:其中[TO]为可选参数,使用与否不影响结 ...
- MySQL SELECT语句
说明:MySQL的offset第一行是0 位置指的是在SELECT语句中第几个出现的字段,如:1,则代表用第一个出现的字段来分组. SELECT语句: SELECT select_expr1 [,s ...
- MySQL Select语句的执行顺序
源文章:How is a query executed in MySQL? 当执行SQL的Select查询语句时,SQL指令的执行顺序如下: FROM 子句 WHERE 子句 GROUP BY 子句 ...
随机推荐
- 剑指Offer 1. 二维数组中的查找 (数组)
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- windows10 vs2017 C++连接MySQL
安装mysql8.0 x64 创建test数据库,user表,插入数据如下: +----+------+----------+-----------------+ | id | name | pass ...
- Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题
影响Oracle数据库字符集最重要的参数是NLS_LANG参数. 它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言.地域和字符集),每 ...
- 学会Git玩转GitHub全
我这个笔记是利用HTML5来写的,所以我现附上代码以及并上照片: 当下@future 2019/4/29 19:55:33 <!DOCTYPE html><html> < ...
- c# .net 面试总结
一. sql优化 . 写明查询具体某几列,减少*的使用,表名过长时,尽量使用表的别名 *和列名一样 ,在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替. in 和 exists的区 ...
- jquery常用指令
table中td多行展示: ```css td { word-wrap: break-word; } ``` div模态框: <div id="loading" style= ...
- Centos7.3 之mysql5.7二进制安装
#!/bin/bash #注意,该脚本是在centos7.3非生产环境下测试的,其他版本的系统可能不适用,要根据情况修改.需要先下载好mysql二进制包到本地(我一般都是在root家目录下操作,文件也 ...
- Fiddler: 如何抓取HTTPS协议的网页
作者:韦玮 转载请注明出处 Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何 ...
- [转].NET 性能测试工具 -- 事件跟踪器(ETW)
.NET 性能测试工具 -- 事件跟踪器(ETW) 内容预告: Windows内置工具(性能计数器) 事件跟踪器(WPT,PerfMoniter,PerfView,自定义ETW) 时间分析 内存分配分 ...
- w7安装双系统
http://blog.sina.com.cn/s/blog_86e874d30101e3d8.html http://www.cnblogs.com/hust-ghtao/tag/Linux%E5% ...