SQL查询语句(二)逻辑运算关键字

        上一篇文章中我们提到了条件查询除了一些简单的数学符号之外,还有一些用于条件判断的关键字,如逻辑判断 关键字AND,OR,NOT和范围查找关键字BETWEEN,IN等;下面我们来介绍一些这些关键字的用法以及他们所表达的含义。

目录

逻辑运算关键字

AND

OR

NOT


逻辑运算关键字

        在进行条件查找时,仅有一个判断条件的情况是比较少见的,大多数情况下我们的WHERE子句需要同时判断多个条件,此时就需要用到逻辑运算的关键字来将这些条件连接起来。

  • AND

        AND操作符可以用来连接多个条件,作用是:当AND连接的多个条件同时成立时,AND操作符的条件判定结果才算成立,其实就是我们所学习的“与”运算。它的具体用法如下所示:

SELECT * FROM student
WHERE name = '张三' AND age = 18;

上述SQL语句所表达的含义是:

        从student表中, 找出满足条件name='张三'并且同时满足条件age='18'的所有行的所有列的数据并返回结果。

如果还有其它条件的话,还可以再后面继续叠加AND操作符。如下:

SELECT * FROM student
WHERE name = '张三' AND age = 18 AND sex = '男';
  • OR

        OR操作符同样可以用来连接多个条件,作用是:当OR连接的多个条件中,有一个条件成立时,OR操作符的条件判定结果就算成立,也就是我们所学习的“或”运算。它的具体用法如下所示:

SELECT * FROM student
WHERE name = '张三' OR name = '李四';

上述SQL语句所表达的含义是:

        从student表中, 找出满足条件name='张三'或者满足条件name='李四'的所有行的所有列的数据并返回结果。

如果还有其它条件的话,还可以再后面继续叠加OR操作符。如下:

SELECT * FROM student
WHERE name = '张三' OR name = '李四' OR name = '王五';

使用OR操作符有以下几点需要注意: 

  1. 即使多个判定条件中用得到的列名是一样的,也不可以省略,否则会出错;
    --正确写法--
    SELECT * FROM student
    WHERE name = '张三' OR name = '李四' OR name = '王五';
    
    
    --错误写法--
    SELECT * FROM student
    WHERE name = '张三' OR '李四' OR '王五';
  2. OR操作符和AND操作符可以叠加使用,但是其中存在计算次序问题,无论操作符前后关系如何,AND操作符的计算规则都在OR之前,有括号则先计算括号内的操作符。如下所示:
    --1--
    SELECT * FROM student
    WHERE name = '张三' OR name = '李四' AND age = 18;
    
    --2--
    SELECT * FROM student
    WHERE name = '李四' AND age = 18 OR name = '张三';
    
    --3--
    SELECT * FROM student
    WHERE (name = '张三' OR name = '李四') AND age = 18;

    上述三条语句如下所示:

    1. 语句1和2所表示的含义是相同的:从student表中,找出满足条件name='张三'的记录,或者满足条件name='李四'并且同时age='18'的记录。因此这里返回的结果中name='张三'的记录,它的age不一定是18。

    2. 语句3所表示的含义是:从student表中,找出满足条件name='张三'或者name='李四',并且同时满足条件age='18'的记录。返回的所有结果一定都满足age='18'这个条件。

  • NOT

        NOT关键字通常与IN、BETWEEN和EXISTS等关键字连在一起使用,用来对这些子句返回的结果取反,如下所示:

--1--
SELECT * FROM student
WHERE age IN (18,19,20);

--2--
SELECT * FROM student
WHERE age = 18 OR age = 19 OR age = 20;

--3--
SELECT * FROM student
WHERE age NOT IN (18,19,20);

--4--
SELECT * FROM student
WHERE age != 18 AND age != 19 AND age != 20;

上面四条SQL语句中:

  • 1和2所表示的含义一致:表示从student表中,查找出所有age等于18,19,20的记录。
  • 3和4所表示的含义一致:表示从student表中,查找出除age等于18,19,20之外的所有记录。

(有关范围查找关键字IN,BETWEEN和EXISTS的用法我们在下一篇文章中介绍)

以上就是SQL语句中,关于条件查询的逻辑运算关键字的用法和注意点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/600543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS实战开发教程-如何开发一个2048游戏

今天为大家分享的是2048小游戏,先看效果图: 这个项目对于新手友友来说可能有一点难度,但是只要坚持看完一定会有收获。因为小编想分享的并不局限于ArkTs语言,而是编程思想。 这个游戏的基本逻辑是初始化一个4乘4的数组&#xff…

【Toritoise SVN】SVN 怎么忽略文件夹下的所有文件但是不忽略文件夹本身

比如:忽略 Assets\StreamingAssets\LocalAsset文件夹下的所有文件但是不忽略LocalAsset这个文件夹 在TortoiseSVN中,你可以通过以下步骤来修改文件夹的svn:ignore属性: 打开Windows资源管理器,导航到你的工作副本中的Assets\Stre…

Python | Leetcode Python题解之第67题二进制求和

题目: 题解: class Solution:def addBinary(self, a, b) -> str:return {0:b}.format(int(a, 2) int(b, 2))

谷歌发布 HEAL 架构,4 步评估医学 AI 工具是否公平

如果把维持健康状态想象成一场赛跑,并不是所有人都能够站在统一起跑线上,有的人能够平稳的跑完全程,有的人即使跌倒也能够在第一时间获得帮助,但是有些人可能因为经济条件、居住地、教育水平、种族或其他因素而面临更多障碍。 「…

新火种AI|挑战谷歌,OpenAI要推出搜索引擎?

作者:一号 编辑:美美 在AI革新的浪潮下,谷歌搜索迎来了越来越多的“挑战者”。 最近,据多家外媒的消息,有知情人士透露,OpenAI正计划上线一款基于ChatGPT的大型产品,将提供一个新的搜索引擎&…

Ansible自动化运维工具 - playbook 剧本编写

一. inventory 主机清单 Inventory 支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。 1.1 inventory 中的变量含义 Inventory 变量名 含义ansible_hostansible连接节点时的IP地址ansible_port连接对方…

如何搜索空文件夹_名称为(纯或含)中/英/数/符

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 打开工具,切换到批量文件复制版块,快捷键Ctrl5 点击右侧的搜索添加 设定要搜索的范围、指定为文件夹、包括子目录,勾选…

【C语言】精品练习题

目录 题目一: 题目二: 题目三: 题目四: 题目五: 题目六: 题目七: 题目八: 题目九: 题目十: 题目十一: 题目十二: 题目十…

OFD(Open Fixed-layout Document)

OFD(Open Fixed-layout Document) ,是由工业和信息化部软件司牵头中国电子技术标准化研究院成立的版式编写组制定的版式文档国家标准,属于中国的一种自主格式,要打破政府部门和党委机关电子公文格式不统一,以方便地进行电子文档的…

购物车操作

添加购物车: 需求分析和接口设计: 接口设计: 请求方式:POST 请求路径:/user/shoppingCart/add请求参数:套餐id、菜品id、口味返回结果:code、data、msg 数据库设计: 这上面出现了…

天锐绿盾 | 办公加密系统,源代码防泄密、源代码透明加密、防止开发部门人员泄露源码

天锐绿盾作为一款专注于数据安全与防泄密的专业解决方案,它确实提供了针对源代码防泄密的功能,帮助企业保护其核心的知识产权。 PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天锐绿盾可能采…

sprig 项目启动时报错:MybatisDependsonDatabaseInitializationDetector

问题 使用application.yml启动项目报错: 解决方案 修改pom.xml: 修改这两处的版本

英语学习笔记4——Is this your ...?

Is this your …? 词汇 Vocabulary suit /sut/ n. 西装,正装 suit 的配套: shirt n. 衬衫tie n. 领带,领结belt n. 腰带trousers n. 裤子shoes n. 鞋子 school /skuːl/ n. 学校 所有学校 搭配:middle school 初中    hig…

Linux信号捕捉

要处理信号, 我们进程就得知道自己是否收到了信号, 收到了哪些信号, 所以进程需要再合适的时候去查一查自己的pending位图 block 位图 和 hander表, 什么时候进行检测呢? 当我们的进程从内核态返回到用户态的时候&…

3d模型实体显示有隐藏黑线?---模大狮模型网

在3D建模和设计领域,细节决定成败。然而,在处理3D模型时,可能会遇到模型实体上出现隐藏黑线的问题。这些黑线可能影响模型的视觉质量和呈现效果。因此,了解并解决这些隐藏黑线的问题至关重要。本文将探讨隐藏黑线出现的原因&#…

五一小长假,景区智慧公厕发挥了那些作用?

五一小长假已经过去,在旅途中相信大家非常开心,其中也不乏一些细节让你有了更好的体验,而在您享受美景、畅游风光的同时,或许并未留意到那个角落里,默默为您服务的智慧公厕。是的,它们将成为您旅途中不可或…

动态规划算法:简单多状态问题

例题一 解法(动态规划): 算法思路: 1. 状态表⽰: 对于简单的线性 dp ,我们可以⽤「经验 题⽬要求」来定义状态表⽰: i. 以某个位置为结尾,巴拉巴拉; ii. 以某个位置为起…

2024/5/7 QTday2

练习:优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败&a…

论文复现丨多车场带货物权重车辆路径问题:改进邻域搜索算法

引言 本系列文章是路径优化问题学习过程中一个完整的学习路线。问题从简单的单车场容量约束CVRP问题到多车场容量约束MDCVRP问题,再到多车场容量时间窗口复杂约束MDCVRPTW问题,复杂度是逐渐提升的。 如果大家想学习某一个算法,建议从最简单…

小红书餐饮推广怎么合作?纯干货

小红书作为国内领先的生活方式分享平台,其用户群体主要集中在一二线城市,年龄分布在18-35岁之间,其中女性用户占比高达80%。这部分用户具有较高的消费能力、审美追求和品质生活需求,对美食有着极高的兴趣和消费意愿,为…
最新文章