-
2019-03-29 10:09:58
工作需要,写按sensor_uuid在某范围查询的语句:
1.select * from xz_sensor_data where sensor_time>='2019-03-28 00:00:00.000' and sensor_time<='2019-03-28 08:00:00.000' and sensor_uuid in('20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','201901','201902','201903','201904','201905','201906','201907','201908','201909','201910','201911','201912','201913') order by sensor_time asc
2.select * from xz_sensor_data where sensor_time>='2019-03-28 00:00:00.000' and sensor_time<='2019-03-28 08:00:00.000' and (sensor_uuid between '19' and '36' or sensor_uuid between '201900' and '201914' )
发现第二条执行效率高。
更多相关内容 -
MySQL条件查询语句(一)
2018-03-18 22:21:30条件查询 注意:条件查诟需要用到 where 询句,where 必须放到 from 询句表的后面; 执行顺序:先from再where过滤后再检索出来。 1、、支持如下运算 2、等号(=)操作符 (1)、查询薪水为5000的员工 例如:...条件查询
注意:条件查诟需要用到 where 询句,where 必须放到 from 询句表的后面;
执行顺序:先from再where过滤后再检索出来。
1、、支持如下运算
2、等号(=)操作符
(1)、查询薪水为5000的员工
例如:select empno,ename,sal from emp where sal = 5000;
(2)、查询 job 为 MANAGER 的员工
错误:select empno,ename,job from emp where job = MANAGER;
以上查询结构出现错诣误,因为 job 字段为字符串,所以出现了以上错误信息;
正确:select empno,ename,job from emp where job =“manager”;
select empno,ename,job from emp where job = ”manager‟;
也可使用单引号
select empno,ename,job from emp where job = „MANAGER‟;
以上输入结果输入结果正确,MySQL默认情况下大小写不敏感;
注意:
MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再想将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很资料都说在linux下更改MySQL配置使其也不区分大小写,但是有没有办法反过来让windows下大小写敏感呢?其实方法是一样的,相应的更改windows中MySQL的设置就行了。
具体操作:在MySQL的配置文件my.ini中增加一行:lower_case_table_names = 0
其中 0:区分大小写 ; 1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
• 数据库名不表名是严格区分大小写的;
• 表的别名是严格区分大小写的;
• 列名不列的别名在所有的情况下均是忽略大小写的;
• 变量名也是严格区分大小写的;(MySQL的变量名在windows下都丌区分大小写)
3、不等号(<>、i=)操作符
(1)、查询薪水不等亍 5000 的员工
例如:select empno,ename,sal from emp where sal <> 5000;
以下写法等同亍之上的写法,建议使用第一种写法
select empno,ename,sal from emp where sal != 5000;
数值也可以采用单引号引起来,如下查询句也是正确,但不建议,原因MySQL数据库做数据类型自劢转换
select empno,ename,sal from emp where sal <> ”5000‟;
(2)、查询工作岗位不等亍MANAGER的员工
例如:select empno,ename,job from emp where job <>”MANAGER‟;
-
Mysql条件查询语句(二)
2018-03-24 12:32:391、查询薪水为1600到3000的员工(第一种方式:采用>= 、<=) 例如:select empno,ename,sal from emp where sal >= 1600 and sal <= 3000; 2、查询薪水为1600到3000的员式(第二种...一、between……and……操作符
1、查询薪水为1600到3000的员工(第一种方式:采用>= 、<=)
例如:select empno,ename,sal from emp where sal >= 1600 and sal <= 3000;
2、查询薪水为1600到3000的员式(第二种方式:采用between…and…)
例如:select empno,ename,sal from emp where sal between 1600 and 3000;
注:关亍between … and … 它是包含最大值和最小值的
3、between … and … 同样也可用在字符上,用在字符上区间为:前闭后开;
例如: select ename from emp where ename between “A”and “F”;
二、is null
Null 为空,它不是一个数值,不是一个空串,为null可以设置这个字段不填值,如果查询为null的字段,采用is null。
1、查询津贴为空的员工
错误: select empno,ename,comm from emp where comm = null;
原因:以上无法查询出符合条件的数据,因为null类型比较特殊,必须使用 is 来比较
正确:select empno,ename,comm from emp where comm is null;
2、查询津贴不为空的员工
例如:select empno,ename,comm from emp where comm is not null;
三、and:表示并且,表示所有查询条件必须满足
1、查询工作岗位为“MANAGER”并且薪水大于2500的员工
例如:select empno,ename,job,sal from emp where job =„MANAGER‟ and sal > 2500;
四、or:只要满足条件即可,相当于包含
1、查询出 job 为 SALESMAN 和 job为MANAGER的员工
例如: select ename,job from emp where job = “SALESMAN”or job = “MANAGER”;
五、and不or表达式的优化级
and的优先级高于or
1、查询薪水大于1800,并且部门编号为20或30的员工
例如: 错误:select * from emp sal>1800 and deptno=20 or deptno = 30;
分析:以上输出的结果不是是我们预期的结果,薪水小于1800的也查出来了,原因是表达式的优先级导致的,首先SQL语句过滤了 sal > 1800 and deptno = 20,然后再将deptno = 30的员工合并过来,所以是不正确的
正确: select * from emp where sal>1800 and (deptno=20 or deptno=30);
注: 关亍运算符的问题不用死记硬背,没有把握的尽量采用括号;六、 in:表示包含的意思,完全可以采用or来表示,采用in会更简洁一些。
1、. 查询出Job为 SALESMAN 和 Job为 MANAGER 的员工
例如: select ename,job from emp where job in (“SALESMAN”,“MANAGER”);
2、查询出薪水为1600和3000的员工
例如: select ename,sal from emp where sal in (1600,3000);
3、查询出薪水不是1600和3000的员工
例如: select ename,sal from emp where sal not in (1600,3000);
七、not
1、第一种写法:查询出薪水不是1600和薪水不是3000的员工
例如: select ename,sal from emp where sal <> 1600 and sal <> 3000;
2、第二种写法:查询出薪水不是1600和薪水不是3000的员工
例如: select ename,sal from emp where not (sal = 1600 or sal = 3000);
3、第三种写法:查询出薪水不是1600和薪水不是3000的员工
例如: select ename,sal from emp where sal not in (1600,3000);
4、查询出津贴不为null的员工
例如: select * from emp where comm is not null;
八、Like :可以实现模糊查诟,like支持%和下划线匹配
1、查询以姓名以 M 开头的所有员工‘M%’
例如: select ename from emp where ename like “M%”;
2、查询姓名以N结尾的所有员工‘%N’
例如: select ename from emp where ename like “%N”;
3、查询姓名中包含O的所有员工‘%O%’
例如: select ename from emp where ename like “%O%”;
4、查询姓名中第二个字符为A的所有员工‘_A%’
例如: select ename from emp where ename like “_A%”;
5、查询姓名中倒数第二个字符为E的所有员工‘%E_’
例如: select ename from emp where ename like “%E_”;
6、查询姓名中第三个字符为N的所有员工姓名‘__R%’
例如: select ename from emp where ename like “R%”;
-
MySQL中使用case when 语句实现多条件查询的方法
2020-09-11 05:26:22今天在一个应用中使用到了一个比较特殊的数据查询要求。需要的朋友可以参考下。 -
Mysql带And关键字的多条件查询语句
2021-01-19 02:07:40MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回。SELECT * | {字段名1,字段名2,……}FROM 表名WHERE 条件表达式1 AND 条件表达式2 ...MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回。
SELECT * | {字段名1,字段名2,……}
FROM 表名
WHERE 条件表达式1 AND 条件表达式2 […… AND 条件表达式n];
查询student表中,id字段值小于16,并且,gender字段值为nv的学生姓名
可以看出,查询条件必须都满足,才会返回
查询student表中,id字段值在12、13、14、15之中,name字段值以字符串“ng”结束,并且,grade字段值小于80的记录
可以看出,返回的记录,同时满足了AND关键字连接的三个条件表达式。
PS:下面看下mysql多关键字多字段模糊查询
假设有这样两条数据:
(表名为user)
1) username=admin,password=000000
2) username=admin,password=123456
我们要实现的效果是可以输入多个关键字查询,多个关键字间以逗号分隔。
使用上述表举例:输入单个关键字“admin”可查出这两条数据,输入“admin,000000”只查出第一条数据,可实现的sql语句是:
select * from user where concat(username, password) like '%admin%';
select * from user where concat(username, password) like '%admin%' and concat(username, password) like '%000000%';
concat的作用是连接字符串,但这样有一个问题:如果你输入单个关键字“admin000000”也会查到第一条数据,这显然不是我们想要的结果,解决方法是:由于使用逗号分隔多个关键字,说明逗号永远不会成为关键字的一部分,所以我们在连接字符串时把每个字段以逗号分隔即可解决此问题,下面这个sql语句不会查询到第一条数据:
select * from user where concat(username, ',', password) like '%admin000000%';
如果分隔符是空格或其他符号,修改 ',' 为 '分隔符' 即可。
总结:
select * from 表名 where concat(字段1, '分隔符', 字段2, '分隔符', ...字段n) like '%关键字1%' and concat(字段1, '分隔符', 字段2, '分隔符', ...字段n) like '%关键字2%' ......;
以上所述是小编给大家介绍的Mysql带And关键字的多条件查询语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
本文标题: Mysql带And关键字的多条件查询语句
本文地址: http://www.cppcns.com/shujuku/mysql/196107.html
-
mysql条件判断语句讲解
2021-01-18 18:33:44MySQL的判断语句有两种,if,switch语句,这两种语句都可以用来做为mysql的条件判断语句,但是它们各自又都有不同,今天给大家讲解这;两种判断语句的不同。《php与MySQL权威指南》第3章php基础,本章介绍了PHP的... -
mysql条件判断语句if的使用
2021-02-01 19:52:07mysql条件判断语句if的使用:先判断数据库中是否存在是否存在指定值存在就修改不存在就添加。这里我就用啦mysql存储过程的if语句DROP PROCEDURE IF EXISTS 过程名;CREATE PROCEDURE 过程名(IN trueName VARCHAR(100),... -
mysql查询语句中条件判断
2019-12-24 23:32:45if select if(h.status=‘PROBLEM’, 1,0) as host_status from hosts h case when select time,pname,unsovled_num from (select now() as time,it.pname,count(i.issuestatus) as unsovled_num ,case when i.issue... -
MySQL高级查询语句——超详细,一篇就够了
2020-10-18 13:42:09MySQL高级查询语句一、MySQL进阶查询1.1、按关键字排序——order by1.2、对结果进行分组——group by1.2.1、单个分组1.2.2、分组结合order by使用1.3、限制结果条目二、MySQL数据库函数三、MySQL存储过程 一、MySQL... -
mysql关联查询语句
2019-01-04 10:36:55今天和mysql相关死磕到底 Baby 我的眼里都是 心里都是全部都是你 哒哒哒哒哒哒 哒哒哒 一、前言 1.1关系表 理解关系表,以一个例子展开: 有一个包含产品目录的数据库表,其中每一类物品占一行。对于每一种... -
MySQL查询语句
2019-08-27 14:39:32在查询之前,我们也先准备好一些数据 -- 创建 db2 数据库 CREATE DATABASE db2;-- 使用 db2 数据库 USE db2;-- 数据 student 数据表 CREATE TABLE student ( id INT, -- 编号 NAME VARCHAR(20), -- 姓名 ... -
sql 分页查询语句(mysql分页语句)
2021-02-02 14:51:59sql 分页查询语句(mysql分页语句)2020-07-24 11:18:53共10个回答intpageCount=15(每页显示的行数)intTotalCount=30(页数*每页显示的行数),这里是第二页stringsearchString=xxxxxx(搜索条件)selecttoppageCount*from... -
mysql查询语句,子查询的几种方式
2021-12-14 15:50:58子查询的语法与正常的sql查询语句一致,只是嵌套在sql语句中,通常用来简化多表联查,也可以与多表联查混合使用,子查询语句可以嵌套在select,form,where等关键字后. 例如: select(子查询) form 表 where 条件 ... -
mysql在子查询中使用自定义变量和条件语句实现函数效果的查询语句
2019-08-16 23:50:04mysql在子查询中使用自定义变量和条件语句实现编程思维的查询语句 自定义变量和条件语句语法规则 自定义变量规则 @变量名:=固定值 | 函数调用 | 条件语句 别名 mysql> SELECT @min_price:=MIN(price),@max_... -
mysql多条件关联查询
2017-12-26 15:49:16工作中遇到一些mysql问题,有的需要多条件多表查询等,现在整理出来。 问题(一)如下: 查询出今天办公室人员的订餐人员 qsyz_app_user用户表 userid role qsyz_shop_order订单表 user_id status date role... -
Oracle的分页查询语句和MySQL的分页查询语句
2021-01-19 10:33:201.Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。Oracle分分页查询格式:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM <= 40)WHERE RN >= 21其中最内层... -
【Mysql】mysql数据库的查询语句
2020-07-29 16:54:42单表查询 1、普通查询 (1)命令:select * from <表名>;//通匹 (2)命令:select <要查询的字段> from <表名>; 2、去重查询(distinct) 命令:select distinct <要查询的字段> from <... -
Mysql基本查询语句及方法
2021-01-18 19:56:27但是mysql中的执行顺序是from 后面加表名 确定你是那张表where后面是条件 通过条件 来筛选这表的内容select后面是 你where筛选出的数据中的某些字段 * 是所有字段# 查询语句执行的结果也是一张表,可以看成虚拟表... -
mysql循环查询(mysql循环语句)
2021-01-18 18:32:50mysql循环查询(mysql循环语句)2020-07-24 11:48:10共10个回答MYSQL确实不够稳定不够快,我做的系统刚换成SQLserver了!!至于你说的那个循环操作当然是没什么问题了,前提是你的数据是不是海量数据(就是记录很多),如果... -
MySQL多表查询语句
2021-05-30 08:59:12MySQL多表查询语句 1.内连接查询 1.隐式内连接:使用where条件消除无用数据 例子: --查询所有员工信息和对应的部门信息 SELECT * FROM emp,dept WHERE emp.dept_id=dept.id; --查询员工表的姓名,性别,... -
MySQL查询语句大全(列举所有常用查询方式)
2020-05-07 15:25:41列举MySQL常用的查询方式,能根据不同的需求,灵活选择使用何种查询。 -
linux下Mysql查询语句
2019-09-02 19:37:17查询 库和表信息 mysql> show databases; 查看数据 mysql> use mysql;进入数据库 mysql> show tables; 看当前库中有哪些表 二.查询表内容 mysql> select * from mysql.user; 查看表内容 mysql> ... -
mysql中查询两个表同一条件的数据条数该怎么写sql语句
2021-01-18 18:05:09点击查看mysql中查询两个表同一条件的数据条数该怎么写sql语句具体信息答:不知道你的a,b两表有没有关联,假定没有关联 select count(1)from (select idfrom a where id>5union allselect id from b where id>... -
MySQL之数据库基本查询语句
2019-11-18 13:42:03——————·今天距2020年43天·——————这是ITester软件测试小栈第80次推文SELECT基本查询语句查询单个列#查询Author表name列的值 select name ... -
mysql if 条件语句用法
2020-02-24 17:20:27如果某个when子句后面的条件condition为true,则返回相应的when子句后面的值result; 如果所有的when子句后面的条件condition都不为true,则返回else子句后面的值; 如果没有else部分则返回null。 ... -
实现多条件模糊查询SQL语句
2021-01-19 15:56:46很多网友问到如何写模糊查询语句和多条件查询,这里我整理了一下,假设以姓名、性别、电话号...作为数据库中的字段名。通常写一个简单的模糊查询的SQL语句格式可以如下例:sql="select*from表名where字段名like’%"&... -
MySQL的时间条件查询
2021-01-19 19:29:28查询上季度数据 select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER)); 查询本年数据 select * from `ht_invoice_information` where YEAR(create_... -
MySQL查询语句格式总结
2020-08-01 09:40:09MySQL查询语句总结 查询语句格式: select 查询列表 #必要,可用DISTINCT去重7 from 表1 别名 #1 连接类型 join 表2 #2 on 连接条件 #3 where 筛选 #分组前筛选4 group by 分组列表 #5 having 筛选 #分组后... -
mysql数据库select查询语句简单用法
2021-01-28 02:32:12mysql select简单用法1、select语句可以用回车分隔$sql="select * from article where id=1"和$sql="select * from article where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较... -
Mysql中 查询慢的 Sql语句的记录查找
2021-03-14 19:15:19Mysql中 查询慢的 Sql语句的记录查找慢查询日志slow_query_log,是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,这样可以对比较慢的sql可以进行优化。1. 登陆我们的mysql数据库: 2. 查看...