【mysql】逻辑运算符

逻辑运算符

逻辑运算符主要是为了判断表达式的真假,返回结果也是1,0,null

OR

这里面或就是两个条件或的关系,比如我要department_id等于10和等于20的情况就可以使用或.

SELECT last_name,salary,department_id 

FROM employees

WHERE department_id=10 OR department_id=20

AND

这就是或的关系,如果我们把或改成且也就是AND,结果就没有了,因为一个人只能在一个部门里,本在两个部门中,如果要AND,我们可以做这个条件,id是20而且工资在6000以上的人.

NOT

我们还记得BETWEEN AND吗

我们要查询工资在6000和8000之间的情况.

如果想查询不在这个范围的,我们就可以直接使用NOT

SELECT employee_id,salary
FROM employees
WHERE salary NOT BETWEEN 6000 AND 8000;
#那么我们想要不在6000到8000范围内的函数怎么办呢.

之前还说过IS NULL 和IS NOT NULL,这个既可以理解为IS NOT NULL是一个整体也可以看成我们加了一个逻辑运算符NOT

还有就是我们之前说的安全等于,如何安全不等于呢?

就要使用 WHERE NOT

 

还有就是

XOR

SELECT last_name,salary,department_id
FROM employees
WHERE department_id=20 XOR salary>6000;

这个我们用的比较少,它的含义是要么20号部门小于6000,要么工资大于6000部门是20

大家要记得OR和AND,如果同时出现,我们会优先计算AND.yun

既然说到这个了,我们再说一说运算符的优先级

运算符的优先级7.51

我们这个优先级很多时候都是靠我们个人的感觉,比如有一个 and or and,你很容易就发现前后一个是一个整体,会优先计算前后,然后计算or.之后也就记下了,比如考虑是否相等,也是a=b,也是会先计算a和b然后再考虑a是否等于b,如果先判断相等之后再去后面比那肯定就不对.你看别人写的,就按照自己的直觉,你的直觉不会骗你,如果你自己写抓不准,你就用小括号,小括号一定是最先计算.

位运算符

我们使用的频率是比较低的,位运算符代表的是要把值转换为二进制,然后对它进行位运算,然后再变回十进制.

大家做一个了解就行,如果真的用上了那确实是会增加运行速度,但是我们实际上根据一个符号来优化的情况太少了,我们更多的会对SELECT进行优化.

我们会让他减少磁盘的io和是否能正确使用索引这方面来进行优化.

&|^`>><<

这里我们就举一个例子就好:

SELECT  12&5,12|5,12^5 FROM DUAL

这个的结构是4,13,9我们发现符号左右两边都是数值,这是我们这个符号的要求,是不能改变的。我们来看我们的图,这个图非常清楚

12用二进制是如何算的。与呢是什么,我们就把1当成true,0当成false,只有两个都是真才是1.

或就是只要1个是1就是1,异或就是

SELECT 10 & ~1 FROM DUAL;

~代表的就是1变成0,0变成1,&的运算就和之前一样,都是1的时候才是1。所以最后结果还是10.

运行一下也是一样

至于左移右移的意思和大家的想法也是一样的

完全拿我们表格说事就可以了.代表的含义其实就是翻倍和减半

因为二进制都往左移了一位,所以就是乘2,就像我们十进制左移一位就是乘以10一样的概念

这里就是为了大家看别人用位运算符,感觉哇高级,我也看得懂.但是我们自己就别用了,不用刻意去靠.至于另外的算术运算符,逻辑运算符比较运算符,是必须重点掌握的.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF——简单的《WEB》

文章目录 一、WEB1、easysql2、baby_web3、baby_sql4、upload_easy5、easygame拓展1.1拓展1.2 6、ht_ssti7、包容乃大 一、WEB 1、easysql 题目描述&#xff1a; sql注入漏洞 1.常用的sql注入测试语句 2.sql注入bypass 解题思路 这边提示基本给的也很完整的&#xff0c;不…

C++开发基础之理解 CUDA 编译配置:`compute_XX` 和 `sm_XX` 的作用

前言 在 CUDA 编程中&#xff0c;确保代码能够在不同的 NVIDIA GPU 上高效运行是非常重要的。为了实现这一点&#xff0c;CUDA 编译器 (nvcc) 提供了多种配置选项&#xff0c;其中 compute_XX 和 sm_XX 是两个关键的编译选项。本文将深入探讨这两个选项的作用及其配置顺序&…

大一新生以此篇开启你的算法之路

各位大一计算机萌新们&#xff0c;你们好&#xff0c;本篇博客会带领大家进行算法入门&#xff0c;给各位大一萌新答疑解惑。博客文章略长&#xff0c;可根据自己的需要观看&#xff0c;在博客中会有给大一萌新问题的解答&#xff0c;请不要错过。 入门简介&#xff1a; 算法…

可信的人类与人工智能协作:基于人类反馈和物理知识的安全自主驾驶强化学习

可信的人类与人工智能协作&#xff1a;基于人类反馈和物理知识的安全自主驾驶强化学习 Abstract 在自动驾驶领域&#xff0c;开发安全且可信赖的自动驾驶策略仍然是一项重大挑战。近年来&#xff0c;结合人类反馈的强化学习&#xff08;RLHF&#xff09;因其提升训练安全性和…

中国银河资产笔试25届考什么?如何通过考试|附真题库面试攻略

嘿&#xff0c;各位小伙伴们&#xff01;我是职小豚&#xff0c;今天就带大家一起探秘中国银河资产 25 届秋招&#xff0c;为大家揭开这场金融之旅的神秘面纱。 一、中国银河资产介绍 中国银河资产&#xff0c;那可是金融领域的璀璨巨星&#xff01;它就像一座闪耀着智慧光芒…

unity安装配置和vs2022联动教程

目录 1.选择vs2022配置 2.安装unity 2.1安装unity hub 2.2注册个人账号 2.3安装编辑器 2.4修改为简体中文 2.5添加许可证 2.6安装位置修改 3.项目的创建 3.1如何创建 3.2如何选择 3.3配置语言 3.4去哪里找语言包 4.unity编辑器窗口的介绍 4.1游戏的运行和停止 4…

11、Hive+Spark数仓环境准备

1、 Hive安装部署 1&#xff09;把hive-3.1.3.tar.gz上传到linux的/opt/software目录下 2&#xff09;解压hive-3.1.3.tar.gz到/opt/module/目录下面 [shuidihadoop102 module]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/ 3&#xff09;修改hive-3.1.3-b…

《深度学习》深度学习 框架、流程解析、动态展示及推导

目录 一、深度学习 1、什么是深度学习 2、特点 3、神经网络构造 1&#xff09;单层神经元 • 推导 • 示例 2&#xff09;多层神经网络 3&#xff09;小结 4、感知器 神经网络的本质 5、多层感知器 6、动态图像示例 1&#xff09;一个神经元 相当于下列状态&…

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发&#xff0c;USB 串口适配器&#xff08; USB 转串口 TTL 适配器的简称&#xff09;对于检查系统启动日志非常有用&#xff0c;特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器&#xf…

通过nginx代理转发实现共用80和443端口

目录 项目场景&#xff1a; 问题&#xff1a;怎么实现端口共用&#xff1f; 一、域名解析到nginx服务器 二、创建vhost解析到实际的服务器 三、防火墙的配置 项目场景&#xff1a; 公司自建服务器&#xff0c;有一条专线带有公网IP&#xff0c;如何满足不同的域名解析共用…

go-map系统学习

map底层结构 Goland的map的底层结构使用hash实现&#xff0c;一个hash表里有多个hash表节点&#xff0c;即bucket&#xff0c;每个bucket保存了map中的一个或者一组键值对。 map结构定义&#xff1a; runtime/map.go:hmap type hmap struct {// Note: the format of the hma…

win10 安装多个版本的python

1&#xff0c;安装python3.9 和python3.10 2, 安装完之后分别打开两个版本的Python的安装目录&#xff08;第一层目录&#xff09;&#xff0c;把pythonw.exe分别重命名为pythonw_39.exe和pythonw_310.exe&#xff0c;把python.exe复制一份&#xff0c;并分别重命名为python_…

【C++】_stack和_queue容器适配器、_deque

当别人都在关注你飞的有多高的时候&#xff0c;只有父母在关心你飞的累不累。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;stack •&#x1f330;1.stack介绍 •&#x1f330;2.stack的基本操作 &#x1f34b;知识点二&…

怎么利用XML发送物流快递通知短信

现如今短信平台越来越普遍了&#xff0c;而短信通知也分很多种&#xff0c;例如服务通知、订单通知、交易短信通知、会议通知等。而短信平台在物流行业通知这一块作用也很大。在家时:我们平时快递到了&#xff0c;如果电话联系不到本人&#xff0c;就会放到代收点&#xff0c;然…

力扣之1777.每家商店的产品价格

文章目录 1. 1777.每家商店的产品价格1.1 题干1.2 建表1.3 题解1.4 结果截图 1. 1777.每家商店的产品价格 1.1 题干 表&#xff1a;Products -------------------- | Column Name | Type | -------------------- | product_id | int | | store | enum | | price | int | ---…

分布式调度方案:Elastic-Job

文章目录 一、什么是分布式调度二、Elastic-Job 介绍三、Elastic-Job 实战3.1 环境搭建3.1.1 本地部署3.1.2 服务器部署3.1.3 Zookeeper 管控台界面 3.2 入门案例3.3 SpringBoot 集成 Elastic-Job3.4 任务分片&#xff08;★&#xff09;3.5 Dataflow 类型调度任务 一、什么是分…

提升LLM能力表现的四种AI代理策略

欢迎来到AI产品经理从0到1研习之旅。 “AI Agent”系列的第二篇&#xff0c;它来了&#xff01;我说过&#xff0c;AI Agent才是我最看好的&#xff08;大模型落地应用&#xff09;未来&#xff0c;嘿嘿&#xff0c;目测有很多大佬与我有相似的看法。 本文从吴恩达&#xff0…

Python | Leetcode Python题解之第401题二进制手表

题目&#xff1a; 题解&#xff1a; class Solution:def readBinaryWatch(self, turnedOn: int) -> List[str]:ans list()for i in range(1024):h, m i >> 6, i & 0x3f # 用位运算取出高 4 位和低 6 位if h < 12 and m < 60 and bin(i).count("1&…

浙大数据结构:03-树2 List Leaves

这道题我借用了一点上一题的代码思路&#xff0c;这题考察的主要是层序遍历&#xff0c;即用队列来实现&#xff0c;当然此处我依然采用数组模拟队列来实现。 机翻 1、条件准备 map的键存下标&#xff0c;后面值分别存左右子树的下标&#xff0c;没有子树就存-1. head数组只…

产业园服务体系建设,是否已全面覆盖企业成长的每一个阶段?

在当今竞争激烈的商业环境中&#xff0c;产业园作为企业发展的重要载体&#xff0c;其服务体系的完善程度至关重要。那么&#xff0c;产业园服务体系建设&#xff0c;是否已全面覆盖企业成长的每一个阶段呢&#xff1f; 从企业的初创期来看&#xff0c;产业园可以提供办公场地的…