【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,一经查实,立即删除!

相关文章

区块链BCS配置选择注意事项

在配置区块链BCS&#xff08;Blockchain Service&#xff09;时&#xff0c;需要注意多个方面的细节以确保区块链网络的稳定、安全和高效运行。以下是从多个维度详细分析区块链BCS配置选择的注意事项&#xff0c;旨在为企业提供有价值的参考和指导。 一、基础配置注意事项 环…

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 是两个关键的编译选项。本文将深入探讨这两个选项的作用及其配置顺序&…

2398. 预算内的最多机器人数目(24.9.13)

题目 有n个机器人&#xff0c;给定两个下标从 0 开始的整数数组chargeTimes和runningCosts&#xff0c;两者长度都为(n)。第(i)个机器人充电时间为chargeTimes[i]单位时间&#xff0c;花费runningCosts[i]单位时间运行。另外还有一个整数budget。 运行(k)个机器人总开销是max…

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

各位大一计算机萌新们&#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…

日志中使用awk提取信息

订单发货-----------------express_code:ZTO-e xpress:中通速递-orderIDs:21782028-tradeNo:XD240822000089-storage:菜鸟仓&#xff08;武汉&#xff09;-nums:1 现在需要提取出 nums:后面的值用于排查问题 echo "storage:菜鸟仓&#xff08;武汉&#xff09;-nums:2&q…

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…

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed image Traceback (most recent call last):File "/root/miniconda3/envs/learn-yolo/lib/python3.11/site-packages/PIL/JpegIm…

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

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

Go语言错误处理之道:优雅地应对程序中的问题

错误处理是任何编程语言中的关键部分&#xff0c;Go语言以其独特的错误处理机制而著称。对于初学者来说&#xff0c;理解Go语言中的错误处理对于编写健壮和可靠的程序至关重要。 为什么需要错误处理 在编程中&#xff0c;错误处理是必不可少的&#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…

代码随想录训练营第29天|控制变量

134. 加油站 class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int cur0, total0, start0;for(int i0; i<gas.size(); i){curgas[i]-cost[i];totalgas[i]-cost[i];if(cur<0){starti1;cur0;}}if(start>gas…

pdf 转 jpg

该方法是 pdf 的每一页&#xff0c;分别生成一个 jpg 文件 例&#xff1a;pdf 有6页 生成jpg> 6个jpg文件&#xff0c;分别对应pdf的各页面 依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><versi…

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;知识点二&…