Mysql带And关键字的多条件查询语句
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中RAND()随便查询记录效率问题和解决办法分享
最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 有两个方法可以达成以上效果. 1.新建一个表,里面存着 -5 至 5 之间的数.再利用order by rand()得到随机数. #建立指定范围数据表 复制代码 代码如下: #auther: 小强(占卜师) #date: 2008-03-31 create table r
-
MYSQL随机抽取查询 MySQL Order By Rand()效率问题
要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描.但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机. 但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒
-
MySQL中使用case when 语句实现多条件查询的方法
举例如下: 数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5 要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容. 可使用case when来实现这个条件,需要嵌套子查询语句 sql语句代码示例如下: 复制代码 代码如下: SELECT * FROM DemoTa
-
MySql带OR关键字的多条件查询语句
上篇文章给大家介绍了Mysql带And关键字的多条件查询语句,下面给大家介绍MySql带OR关键字的多条件查询语句,感兴趣的朋友可以一起学习. MySQL带OR关键字的多条件查询,与AND关键字不同,OR关键字,只要记录满足任意一个条件,就会被查询出来. SELECT * | {字段名1,字段名2,--} FROM 表名 WHERE 条件表达式1 OR 条件表达式2 [-- OR 条件表达式n]; 查询student表中,id字段值小于15,或者gender字段值为nv的学生姓名 可以看出,返回
-
Mysql带And关键字的多条件查询语句
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字段值以字符串
-
MySQL数据库必备之条件查询语句
目录 1.基本语法 2.按条件表达式筛选 3.按逻辑表达式筛选 4.模糊查询 5.安全等于 1.基本语法 SELECT 查询列表 FROM 表名 WHERE 筛选表达式; 2.按条件表达式筛选 条件运算符:>,<,=,!=,<>,>=,<= 条件运算符不能判断null. #在employees表中筛选工资大于12000的员工的所有信息 SELECT * FROM employees WHERE salary>12000; 3.按逻辑表达式筛选 逻辑运算符:&
-
MySQL条件查询语句常用操作全面汇总
目录 模糊查询 union 排序 数量限制 分组 综合 顾名思义, 条件查询就是使用where字句 , 将满足条件的数据筛选出来 语法 : select < 结果 > from < 表名 > where < 条件 > 这里我们以t_user表为例 -- 查询性别为男的信息 SELECT * FROM t_user WHERE sex='男' -- 查询性别不为男的信息 SELECT * FROM t_user WHERE NOT sex='男' -- 查询性别为男并且年
-
Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
先来定义分页语句将要用到的几个参数: int currentPage ; //当前页 int pageRecord ; //每页显示记录数 以之前的ADDRESSBOOK数据表为例(每页显示10条记录): 一.SqlServe下载 分页语句 String sql = "select top "+pageRecord +" * from addressbook where id not in (select top "+(currentPage-)*pageRecor
-
MySQL与Oracle 差异比较之四条件循环语句
循环语句 编号 类别 ORACLE MYSQL 注释 1 IF语句使用不同 IF iv_weekly_day = 'MON'THEN ii_weekly_day := 'MON'; ELSIF iv_weekly_day = 'TUE' THEN ii_weekly_day := 'TUE'; END IF; IF iv_weekly_day = 'MON'THEN set ii_weekly_day = 'MON'; ELSEIF iv_weekly_d
-
sql条件查询语句的简单实例
复制代码 代码如下: //创建成绩表 create table result( stu_id varchar2(20) not null, china number(9,2) null, math number(9,2) null, english number(9,2) null); //插入数据 insert into result values('0001',60,20,80); insert into result values('
-
mysql explain的用法(使用explain优化查询语句)
首先我来给一个简单的例子,然后再来解释explain列的信息. 表一:catefory 文章分类表: CREATE TABLE IF NOT EXISTS `category` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=MyISAM INSERT INTO `test`.`category` VAL
-
mysql基础架构教程之查询语句执行的流程详解
前言 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇文章了. 这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 下面话不多说了,来一起看看详细的介绍吧 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接
-
MySQL查询语句过程和EXPLAIN语句基本概念及其优化
网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询缓存等,也知道用EXPLAIN来查看执行计划. 但对MySQL复杂查询语句执行过程和内部机制,MySQL Optimizer本身所做优化以及查询语句调整对性能所产生的影响及其原因知之甚少. 本文试图对其中的一些关键概念如执行过程.索引使用等做比较深入的探讨,知其然,知其所以然, 这样可以避免在原本通
随机推荐
- 如何用表单的方式推送请求的信息?
- JSF中confirm弹出框的用法示例介绍
- 在Python中操作文件之truncate()方法的使用教程
- python处理中文编码和判断编码示例
- php购物网站支付paypal使用方法
- apache php模块整合操作指南
- 深入探讨:宏、内联函数与普通函数的区别
- Docker 解决容器时间与主机时间不一致的问题三种解决方案
- 用js代码改变单选框选中状态的简单实例
- PHP中10个不常见却非常有用的函数
- Linux使用文本编辑器vi常用命令
- linux shell发送Email邮件的方法详解
- sql查询出各科成绩最好的学生信息
- win7+apache+php+mysql环境配置操作详解
- java 中ThreadLocal实例分析
- php addslashes 函数详细分析说明
- c 调用python出现异常的原因分析
- JS烟花背景效果实现方法
- 在WCF数据访问中使用缓存提高Winform字段中文显示速度的方法
- PHP实现事件机制的方法