mysql进阶(五)数据表中带OR的多条件查询
MySQL数据表中带OR的多条件查询
OR关键字可以联合多个条件进行查询。使用OR关键字时:
条件
1) 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来。
2) 如果不符合这些查询条件中的任何一条,这样的记录将被排除掉。
语法格式
OR关键字的基本语法格式如下:
条件表达式1 OR 条件表达式2 [...OR 条件表达式n]
OR可以连接两个条件表达式,同时可以使用多个OR关键字,以连接更多的条件表达式。
实例
实例1
使用OR关键字查询employee表中d_id为1001,或者sex为'男'的记录。SELECT语句的代码如下:
SELECT * FROM employee WHERE d_id=1001 OR sex LIKE '男';
可将d_id为1001的记录被查询了出来,同时,sex为'男'的记录也被查询了出来。
这说明,使用OR关键字时,只要符合多个条件中的任意一个条件,就可以被查询出来。
实例2
使用OR关键字查询employee表中的记录。查询条件为num取值在(1,2,3)集合中,或者age的范围为24~26,或者homeaddress的取值中包含“厦门市”。SELECT语句的代码如下:
SELECT * FROM employee WHERE
num IN(1,2,3) OR age BETWEEN 24 AND 26
OR homeaddress LIK '%厦门市%';
结果显示,只要符合这3个条件表达式中的任意一个条件,这样的记录就会被查询出来。
OR可以和AND一起使用。当两者一起使用时,AND要比OR先运算。
实例3
使用OR和AND关键字查询employee表中的记录。SELECT语句的代码如下:
SELECT * FROM employee WHERE num IN(1,3,4) AND age=25 OR sex='女';
结果显示,只要符合num IN(1,3,4) AND age=25的记录或者符合sex='女'的记录都被显示了出来。
如果将条件的顺序换一下,将SELECT语句变成下面的情况:
SELECT * FROM employee WHERE sex='女' OR num IN(1,3,4) AND age=25;
结果显示,与前面的SELECT语句的执行结果是一样的。
这说明,AND关键字前后的条件先结合,然后再与OR关键字的条件相结合。也就是说,AND要比OR先运算。
提示
AND和OR关键字可以连接条件表达式。这些条件表达式中可以使用“=”、“>”等操作符,也可以使用IN、BETWEEN AND和LIKE等关键字,而且,LIKE关键字匹配字符串时可以使用“%”和“_”等通配符。
mysql进阶(五)数据表中带OR的多条件查询的更多相关文章
- (转)MySQL数据表中带LIKE的字符匹配查询
MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56 百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...
- Mysql 如何删除数据表中的重复数据!
1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp ...
- MySQL获得指定数据表中auto_increment自增id值的方法及实例
http://kb.cnblogs.com/a/2357592/很多情况下,我们要提前用到当前某个表的auto_increment自增列id,可以通过执行sql语句来查询到这个id值. show ta ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
- mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法
[CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问 ...
- 【MySQL】MySQL中查询出数据表中存在重复的值list
1.目的:查询MySQL数据表中,重复记录的值 2.示例: 3.代码: select serial_num,count(*) as count FROM card_ticket GROUP BY se ...
- mysql status关键字 数据表设计中慎重使用
mysql status关键字 数据表设计中慎重使用
- mysql 获取一张表中, 另一张表不存在的数据
编写sql语句中,经常需要编写获取一张数据表中不存在与另一张表的数据,相关编写方法如下: 方法1: 使用not in ,效率低下,在数据较小的情况下可以采用如下编写 SELECT * FROM a A ...
随机推荐
- Java经典设计模式之五大创建型模式(附实例和详解)
一.概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. (2)结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥 ...
- Ajax+Struts2实现验证码验证功能
---------------------------------------------------------------------------------------------------- ...
- Eclipse的Debug调试技巧
作为开发人员,掌握开发环境下的调试技巧十分有必要.我们在编写java程序的过程中,经常会遇到各种莫名其妙的问题,为了检测程序是哪里出现问题,经常需要增加日志,看变量的值,这样调试很麻烦.假设我每天花费 ...
- PHP + JavaScript + Ajax 实现无刷新页面加载效果
数据源工厂 Json生成方式1 Json生成方式2 数据搬运工 数据加工师 转换类型 加工展示 结果展示 初始页面 点击按钮之后 总结 今天这个实验的思路就是实现一个无刷新的页面加载效果.具体的思路是 ...
- [ExtJS5学习笔记]第三十五节 sencha extjs 5 组件查询方法总结
一个UI前台组件肯定会比较多,我们通常习惯性的使用ID来获取需要操作的组件,但是这种方法是extjs推荐的么?有没有extjs推荐使用的获取组件的方法呢? 目录 目录 extjs的查询组件的API 查 ...
- Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令
Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...
- java之IO流详解(二)
好了,昨天讲了字节流,现在我们就来讲字符流吧... 字符流可以这样理解,字符流 = 字节流 + 编码表,目的是为了更好的操作中文字符(注:字符流只可以可以操作字符类型的文件,不能操作影音图像文件,要操 ...
- 删除表中重复行SQL
delete from table_name a where rowid < (select max(rowid) from table_name b where a.col1 = b.col1 ...
- java虚拟机 jvm 栈数据区
java栈帧还是需要一些数据支持常量池的解析.正常方法的返回和异常的处理.大部分的java字节码指令需要进行常量池的访问,在栈帧数据区中保存着访问常量池的指针,方便程序访问java常量池.如下图所示: ...
- Swift中类似C++和ruby中的final机制
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在C++和ruby语言的错误处理中有一种final机制 ...