当前位置: 首页 > news >正文

mysql常用运算符

mysql常用运算符

  • 一、去重和空值
    • 1.distinct
    • 2.null参与运算
    • 3.用ifnull函数解决问题
  • 二、比较运算符
  • 三、dual伪表和数值运算
    • 1.常规运算
    • 2.比较运算符
    • 3.<=>安全相等
  • 四、常用正则相关的比较运算符
    • 1.基本运算符
    • 2.模糊查询
    • 3.正则表达式
  • 五、逻辑运算符
  • 六、位运算
  • 总结


一、去重和空值

学习运算符之前我们先讨论一下去重和空值的问题:

这是我们要操作的表

在这里插入图片描述
在这里插入图片描述

select DEPARTMENT_ID from employees order by EMPLOYEE_ID ;

查看部门id,发现很多都是一个重复的

在这里插入图片描述

1.distinct

select distinct DEPARTMENT_ID from employees order by DEPARTMENT_ID;

在这里插入图片描述

2.null参与运算

select employee_id  , salary "月工资" , salary * ( 1 + commission_pct ) * 12 "年工资" from employees;

运算中有一个null,结果为null

在这里插入图片描述

3.用ifnull函数解决问题

select employee_id , salary “月工资” , salary * ( 1 + IFNULL(commission_pct,0) ) * 12 “年工资” , commission_pct from employees;
在这里插入图片描述if null函数本质是将null变为0参与运算。


二、比较运算符

select employee_id , salary from employees where salary < 2400;
在这里插入图片描述


三、dual伪表和数值运算

1.常规运算

在这里插入图片描述
浮点型转化
在这里插入图片描述
字符串隐式转化
字符串和null
字符串隐式转化成0(不包含数字)
在这里插入图片描述
除法0值的问题

select 100/0.0,100 div 10 ,100 div 0 from dual;

在这里插入图片描述
取余0值问题

select 100 % 3,100%0 from dual;

在这里插入图片描述

2.比较运算符

select 1=2,1!=2,1='1',1='a' from dual;

在这里插入图片描述

select 'a' = 'a','a'='ab','a'='b' from dual;

在这里插入图片描述

空值参与比较运算的问题

select last_name,salary from employees where  COMMISSION_PCT =  NULL;

在这里插入图片描述

3.<=>安全相等

select last_name,salary from employees where  COMMISSION_PCT <=>  NULL;

在这里插入图片描述除了<=>之外与null相运算都是null
不相等
在这里插入图片描述


四、常用正则相关的比较运算符

在这里插入图片描述

1.基本运算符

is null

select last_name,salary from employees where  COMMISSION_PCT is NULL;#

在这里插入图片描述not 取反

select last_name,salary from employees where NOT (COMMISSION_PCT <=> NULL);

在这里插入图片描述
等价于is not null

select last_name,salary from employees where  (COMMISSION_PCT IS NOT NULL);

在这里插入图片描述
least()和greatest()

select least('a','b','c','e'),greatest('a','b','c','e') from dual;

在这里插入图片描述

取两列中最长的字符串和最短的字符串

select least( first_name, last_name ),greatest(first_name, last_name) from employees;

在这里插入图片描述
betweent … and 区间
注意区间不能为空,不然输出会有问题

select * from employees where salary between 6000 and 8000 ;

在这里插入图片描述
等价于

select * from employees where salary > 6000 and salary < 8000 ;

在这里插入图片描述
in和not in

select * from employees where department_id in (10,20,30,40);

在这里插入图片描述等价于

select * from employees where department_id = 10 or department_id = 20 or department_id = 30 or department_id = 40;

在这里插入图片描述

not in

 select * from employees where department_id not in (10,20,30,40);

在这里插入图片描述

2.模糊查询

%:代表不确定个数的字符
查询包含字符’a’的员工信息

在这里插入图片描述查询字符’a’开头的员工信息
在这里插入图片描述
查询包含字符’a’和’e’的员工信息
写法1:
在这里插入图片描述
写法2:

select last_name from employees where last_name like '%a%e%' or  last_name like '%e%a%' ;

在这里插入图片描述_:占位符一个不确定的字符

select last_name from employees where last_name like '_a%' ;

在这里插入图片描述
转义字符
\
查询JOB_ID的第三个字符是_且第四个是a的JOB_ID:

 select JOB_ID from employees where JOB_ID like "__\_a%" ;

在这里插入图片描述

其他字符做转义,需要告诉系统
$做转义字符:

select JOB_ID from employees where JOB_ID like "__$_a%" escape '$' ;

在这里插入图片描述

3.正则表达式

regexp 和 rlike
在这里插入图片描述

select "shkstart" regexp "^s","shkstart" regexp "t$","shkstart" regexp "hk" , "shkstart" regexp "ht"from dual;

在这里插入图片描述

select "guigui" regexp "gu.gu","guigui" regexp "[gu]" from dual;

在这里插入图片描述


五、逻辑运算符

在这里插入图片描述or:

select last_name from employees where last_name like '%a%e%' or  last_name like '%e%a%' ;

在这里插入图片描述and:

select last_name,salary,department_id from employees  where department_id = 50 and salary > 6000;

在这里插入图片描述在这里插入图片描述


六、位运算

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

select 4<<1,8>>1 from dual;

在这里插入图片描述


总结

常见运算符基本就是这些了,里面有使用案例,希望大家后面多多练习,毕竟mysql除了懂原理外大量的练习才是王道。

可以点个小👍吗

相关文章:

mysql常用运算符

mysql常用运算符一、去重和空值1.distinct2.null参与运算3.用ifnull函数解决问题二、比较运算符三、dual伪表和数值运算1.常规运算2.比较运算符3.<>安全相等四、常用正则相关的比较运算符1.基本运算符2.模糊查询3.正则表达式五、逻辑运算符六、位运算总结一、去重和空值 …...

PyTorch 深度学习框架:优雅而简洁的代码实现

PyTorch 是由 Facebook 发布的深度学习框架&#xff0c;旨在为研究人员和工程师提供快速、灵活和简单的实验平台。与其他框架相比&#xff0c;PyTorch 具有简洁的 API 和灵活的动态计算图&#xff0c;使得构建和训练深度神经网络变得更加优雅和简洁。本文将介绍 PyTorch 的基本…...

【SpringMVC】请求重定向和转发

forward&#xff1a;表示转发 处理器方法返回ModelAndView,实现转发forward 语法&#xff1a; setViewName("forward:视图文件完整路径") forward特点&#xff1a; 不和视图解析器一同使用&#xff0c;就当项目中没有视图解析器redirect&#xff1a;表示重定向 处理…...

Vue中@click的常见修饰符

在 Vue 的click事件中&#xff0c;可以使用以下修饰符&#xff1a; .stop&#xff1a;阻止事件继续传播。.prevent&#xff1a;阻止默认事件。.capture&#xff1a;使用事件捕获模式。.self&#xff1a;只当事件是从侦听器绑定的元素本身触发时才触发回调。.once&#xff1a;只…...

软件测试面试复盘:技术面没有难倒我,hr面被虐的体无完肤

一般提到面试&#xff0c;肯定都会想问一下面试结果&#xff0c;我就大概的说一下面试结果&#xff0c;哈哈&#xff0c;其实不太想说&#xff0c;因为挺惨的&#xff0c;并没有像很多大佬一样 ”已拿字节阿里腾讯各大厂offer”&#xff0c;但是毕竟是自己的经历&#xff0c;无…...

vue实现鼠标移入移出事件+解决鼠标事件没有反应

鼠标移入移出事件代码 <div mouseenter"onMouseOver(item)" mouseleave"onMouseOut"></div> methods methods:{// 鼠标移入onMouseOver(item){console.log(item, 鼠标进来了);},// 鼠标移出onMouseOut(){console.log(鼠标出去了);}, }, 这…...

右键移动文件.cmd

REM xcopy /yis %1% % % %D:\test\% REM https://zhuanlan.zhihu.com/p/38330443 不能移动文件夹 不知道为什么 xcopy&#xff08;拷贝目录文件、目录结构的指令&#xff09;_尚可名片 写了个JAVA程序&#xff0c;怎样实现在win选中文件后&#xff0c;右键发送到我的程序&am…...

web基础

web基础 与http 域名&#xff1a;由于IP地址不易记忆&#xff0c;域名用来代替IP地址&#xff0c; &#xff08;DNS&#xff09;服务与配置&#xff1a;先在本地hosts里去找&#xff0c;然后在本地域名服务器递归查找&#xff0c;本地域名服务器在一级二级按域名长度迭代查找后…...

牛客网算法八股刷题系列(七)正则化(软间隔SVM再回首)

牛客网算法八股刷题系列——正则化[软间隔SVM再回首]题目描述正确答案&#xff1a;C\mathcal CC题目解析开端&#xff1a;关于函数间隔问题解释的补充软间隔SVM\text{SVM}SVMHinge\text{Hinge}Hinge损失函数支持向量机的正则化题目描述 关于支持向量机(Support Vector Machine…...

开源即时通讯IM框架MobileIMSDK的微信小程序端开发快速入门

一、理论知识准备 您需要对微信小程序开发有所了解&#xff1a; 1&#xff09;真正零基础入门学习笔记系列2&#xff09;从零开始的微信小程序入门教程3&#xff09;最全教程&#xff1a;微信小程序开发入门详解 您需要对WebSocket技术有所了解&#xff1a; 1&#xff09;新…...

【C++从0到1】11、C++中赋值运算

C从0到1全系列教程 1、赋值运算 运算符示例描述c a b;将把a b的值赋给c。 把右边操作数的值赋给左边操作数。c a;相当于 c c a; 加且赋值运算符&#xff0c;把右边操作数加上左边操作数的结果赋值给左边操作数。-c - a;相当于 c c - a; 减且赋值运算符&#xff0c;把左…...

GaussDB数据库事务介绍

目录 一、前言 二、GaussDB事务的定义及应用场景 三、GaussDB事务的管理 四、GaussDB事务语句 五、GaussDB事务隔离 六、GaussDB事务监控 七、总结 一、前言 随着大数据和互联网技术的不断发展&#xff0c;数据库管理系统的作用越来越重要&#xff0c;实现数据的快速读…...

MYSQL——美团面试题

MYSQL——美团面试题 2023/3/27 美团二面 题目描述 Create table If Not Exists courses (student varchar(255), class varchar(255));insert into courses (student, class) values (A, Math); insert into courses (student, class) values (B, English); insert into co…...

Python 小型项目大全 16~20

#16 钻石 原文&#xff1a;http://inventwithpython.com/bigbookpython/project16.html 这个程序的特点是一个小算法&#xff0c;用于绘制各种尺寸的 ASCII 艺术画钻石。它包含绘制轮廓或你指定大小的填充式菱形的功能。这些功能对于初学者来说是很好的练习&#xff1b;试着理解…...

UE4/5C++之SubSystem的了解与创建

目录 了解生命周期 为什么用他&#xff0c;简单讲解&#xff1f; SubSystems创建和使用 创建SubSystems中的UGamelnstanceSubsystem类&#xff1a; 写基本的3个函数&#xff1a; 在蓝图中的样子&#xff1a; 创建SubSystems中的UEditorSubsystem类&#xff1a; SubSyste…...

牛客网在线编程SQL篇非技术快速入门题解(二)

大家好&#xff0c;我是RecordLiu。 初学SQL,有哪些合适的练习网站推荐呢? 如果你有编程基础&#xff0c;那么我推荐你到Leetcode这样的专业算法刷题网站&#xff0c;如果没有&#xff0c;也不要紧&#xff0c;你也可以到像牛客网一样的编程网站去练习。 牛客网有很多面向非技…...

航天器轨道六要素和TLE两行轨道数据格式

航天器轨道要素 椭圆轨道六根数指的是&#xff1a;半长轴aaa&#xff0c;离心率e&#xff0c;轨道倾角iii、升交点赤经Ω\OmegaΩ、近地点辐角ω\omegaω、和过近地点时刻t0t_0t0​&#xff08;或真近点角φ&#xff09;。 决定轨道形状&#xff1a; 轨道半长轴aaa&#xff1…...

【Spring Cloud Alibaba】第01节 - 课程介绍

一、Spring Cloud Alibaba 阿里巴巴公司 以Spring Cloud的衍生微服务一站式解决方案 二、学习Spring Cloud Alibaba的原因 Spring Cloud 多项组件宣布闭源或停止维护Spring Cloud Alibaba 性能优于Spring Cloud 三、适应群体 有Java编程和SpringBoot基础&#xff0c;最好有Sp…...

iOS和Android手机浏览器链接打开app store或应用市场下载软件讲解

引言当开发一个app出来后&#xff0c;通过分享引流用户去打开/下载该app软件&#xff0c;不同手机下载的地方不一样&#xff0c;比如&#xff1a;ios需要到苹果商店去下载&#xff0c;Android手机需要到各个不同的应用商店去下载(华为手机需要到华为应用商店下载&#xff0c;vi…...

2023第十四届蓝桥杯省赛java B组

试题 A: 阶乘求和 本题总分&#xff1a;5 分 【问题描述】 令 S 1! 2! 3! ... 202320232023!&#xff0c;求 S 的末尾 9 位数字。 提示&#xff1a;答案首位不为 0。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。本题的结果为一 个整数…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发&#xff08;电脑上写的程序&#xff09;涉及到的一套技术Qt无法开发网页前端&#xff0c;也不能开发移动应用。 客户端开发的重要任务&#xff1a;编写和用户交互的界面。一般来说和用户交互的界面&#xff0c;有两种典型风格&…...

HTML版英语学习系统

HTML版英语学习系统 这是一个完全免费、无需安装、功能完整的英语学习工具&#xff0c;使用HTML CSS JavaScript实现。 功能 文本朗读练习 - 输入英文文章&#xff0c;系统朗读帮助练习听力和发音&#xff0c;适合跟读练习&#xff0c;模仿学习&#xff1b;实时词典查询 - 双…...