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的多条件查询的更多相关文章

  1. (转)MySQL数据表中带LIKE的字符匹配查询

    MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56    百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...

  2. Mysql 如何删除数据表中的重复数据!

    1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp ...

  3. MySQL获得指定数据表中auto_increment自增id值的方法及实例

    http://kb.cnblogs.com/a/2357592/很多情况下,我们要提前用到当前某个表的auto_increment自增列id,可以通过执行sql语句来查询到这个id值. show ta ...

  4. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  5. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...

  6. mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

    [CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问 ...

  7. 【MySQL】MySQL中查询出数据表中存在重复的值list

    1.目的:查询MySQL数据表中,重复记录的值 2.示例: 3.代码: select serial_num,count(*) as count FROM card_ticket GROUP BY se ...

  8. mysql status关键字 数据表设计中慎重使用

    mysql status关键字  数据表设计中慎重使用

  9. mysql 获取一张表中, 另一张表不存在的数据

    编写sql语句中,经常需要编写获取一张数据表中不存在与另一张表的数据,相关编写方法如下: 方法1: 使用not in ,效率低下,在数据较小的情况下可以采用如下编写 SELECT * FROM a A ...

随机推荐

  1. GC对象分配规则

    1.对象优先分配在Eden区,如果Eden区没有足够的空间时,虚拟机执行一次Minor GC. 2.大对象直接进入老年代(大对象是指需要大量连续内存空间的对象).这样做的目的是避免在Eden区和两个S ...

  2. ERROR: Cannot change version of project facet Dynamic Web Module to 3.0?

    Issue: When you create web app in eclipse with maven configuration, you may get following error. Can ...

  3. 20160210.CCPP体系详解(0020天)

    程序片段(01):01.二级指针.c 内容概要:二级指针 #include <stdio.h> #include <stdlib.h> //01.二级指针: // 1.使用场景 ...

  4. Android中Sqlite数据库进行增删改查

    今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...

  5. SceneKit一个3D场景角色的代码重构

    SuperSpaceMan3D是一个以SceneKit为基础的小游戏项目,作者展示了用SceneKit开发3D游戏的强大威力.不过在实际运行时会发现有一些小bug,这里我们依次尝试将其修复 首先,当s ...

  6. 《Shazam It! Music Recognition Algorithms, Fingerprinting, and Processing》译文

    最近看到一篇老外写的博客,简单介绍了shazam的工作原理.图非常好,所以就把它翻译成中文,希望对搞听歌识曲的人有帮助. 你可能遇到这样的场景:在酒吧或者餐厅听到你非常熟悉的歌,也许你曾经听过无数次, ...

  7. [django1.6]跑批任务错误(2006, 'MySQL server has gone away')

    有个django的定时任务的需求,调用django的orm来对数据库进行数据处理.  在交互环境下直接启动pyhton脚本没有问题,放在定时任务中时候,总是出现 (2006, 'MySQL serve ...

  8. x264源代码简单分析:宏块编码(Encode)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  9. 11 吐司 Toast 代码案例

    package com.qf.day11_toast_demo05; import android.app.Activity; import android.graphics.Color; impor ...

  10. iOS开发之自己封装的提示框(警告框)样式BHAlertView

    最近需要使用到提示框(警告框)进行信息的展示和提醒,所以进行了一个类的封装,想用Swift调用此OC文件,但是发现有些困难,所以暂时先把OC代码进行展示,随后再好好研究一下在Swift中的使用. 对于 ...