温习mysql函数 连接查询

news2025/2/22 3:34:18

字符串

1、CONCAT(S1,S2,...Sn) :字符串拼接,将S1 S2 ... Sn 拼接成一个字符串】
2、LOWER(str) :将字符串str全部转为小写
3、UPPER(str) :将字符串str全部转为大写
4、LPAD(str,n,pad):  左填充,用字符串pad对 str 的左边进行填充,达到 n 个字符
串长度
5、RPAD(str,n,pad): 右填充,用字符串pad str 的右边进行填充,达到 n 个字符
串长度
6、TRIM(str): 去掉字符串头部和尾部的空格
7、SUBSTRING(str,start,len): 返回从字符串str start 位置起的 len 个长度的字符

数值函数

1、CEIL(x): 向上取整
2、FLOOR(x): 向下取整
3、MOD(x,y): 返回x/y 的模
4、RAND(): 返回0~1 内的随机数
5、ROUND(x,y): 求参数x 的四舍五入的值,保留 y 位小数

日期函数

1、CURDATE():返回当前日期
2、CURTIME():返回当前时间
3、NOW():返回当前日期和时间
4、YEAR(date):获取指定date 的年份
5、MONTH(date):获取指定date 的月份
6、DAY(date):获取指定date 的日期
7、DATE_ADD(date, INTERVAL expr type) : 返回一个日期/ 时间值加上一个时间间隔 expr 后的时间值
例: select date_add(now(), INTERVAL 70 YEAR );  //基于现在的时间增加70年
8、DATEDIFF(date1,date2):返回起始时间date1 和 结束时间 date2 之间的天数

流程函数

1、IF(value , t , f) :如果value true ,则返回 t ,否则返回 f
2、IFNULL(value1 , value2):如果value1 不为空,返回 value1 ,否则返回value2
3、CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END:如果val1 true ,返回 res1 ... 否则返回default 默认值
4、CASE [ expr ] WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END:如果expr 的值等于 val 返回
res1 ... 否则返回 default 默认值
演示如下:
if
select if( false , 'Ok' , 'Error' );
 ifnull
select ifnull( 'Ok' , 'Default' );
select ifnull( '' , 'Default' );
select ifnull( null , 'Default' );
case when then else end
需求 : 查询 emp 表的员工姓名和工作地址 ( 北京 / 上海 ----> 一线城市 , 其他 ----> 二线城市 )
具体的 SQL 语句如下 :
 
select
name,
( case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else
'二线城市' end ) as '工作地址'
from emp;

create table score(
id int comment 'ID',
name varchar(20) comment '姓名',
math int comment '数学',
english int comment '英语',
chinese int comment '语文'
) comment '学员成绩表';
insert into score(id, name, math, english, chinese) VALUES (1, 'Tom', 67, 88, 95
), (2, 'Rose' , 23, 66, 90),(3, 'Jack', 56, 98, 76);

select
id,
name,
(case when math >= 85 then '优秀' when math >=60 then '及格' else '不及格' end )
'数学',
(case when english >= 85 then '优秀' when english >=60 then '及格' else '不及格'
end ) '英语',
(case when chinese >= 85 then '优秀' when chinese >=60 then '及格' else '不及格'
end ) '语文'
from score;

 连接查询

内连接:
        相当于查询A B 交集部分数据
外连接:
        左外连接:查询左表所有数据,以及两张表交集部分数据
        右外连接:查询右表所有数据,以及两张表交集部分数据
        自连接:当前表与自身的连接查询,自连接必须使用表别名
内连接

隐式内连接
      SELECT 字段列表 FROM 1 , 2 WHERE 条件 ... ;
显示内连接
        SELECT 字段列表 FROM 1 [ INNER ] JOIN 2 ON 连接条件 ... ;
外连接
左外连接

左外连接相当于查询表1(左表)的所有数据,当然也包含表1和表2交集部分的数据。

SELECT 字段列表 FROM 1 LEFT [ OUTER ] JOIN 2 ON 条件 ... ;
右外连接
右外连接相当于查询表 2( 右表 ) 的所有数据,当然也包含表 1 和表 2 交集部分的数据。
SELECT 字段列表 FROM 1 RIGHT [ OUTER ] JOIN 2 ON 条件 ... ;
案例 :
查询 emp 表的所有数据 , 和对应的部门信息,由于需求中提到,要查询emp 的所有数据,所以是不能内连接查询的,需要考虑使用外连接查询。
表结构 : emp, dept
连接条件 : emp.dept_id = dept.id
select e.*, d.name from emp e left outer join dept d on e.dept_id = d.id;
select e.*, d.name from emp e left join dept d on e.dept_id = d.id;

 查询dept表的所有数据, 和对应的员工信息

select d.*, e.* from emp e right outer join dept d on e.dept_id = d.id;
select d.*, e.* from dept d left outer join emp e on e.dept_id = d.id;
自连接
自连接查询,顾名思义,就是自己连接自己,也就是把一张表连接查询多次。我们先来学习一下自连接
的查询语法:
SELECT 字段列表 FROM A 别名 A JOIN A 别名 B ON 条件 ... ;

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

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

相关文章

基于SpringBoot+Vue+MySQL的教学资源共享平台

系统展示 用户前台界面 管理员后台界面 系统背景 随着信息技术的迅猛发展,教育领域对高效、便捷的教学资源需求日益增长。传统教学模式已难以满足当前教育的多样化需求,特别是在资源共享与利用方面存在明显不足。因此,构建一个基于SpringBoot…

关于大模型在产品开发中所面临的问题,利用大模型技术解决很简单!

“ 具体问题具体分析,大模型技术没有统一的解决方案 ” 有人说2024年是大模型应用的元年,而大模型在未来的发展潜力毋庸置疑,这也就意味着人工智能技术是下一个风口,因此各种各样基于大模型技术的创业公司如雨后春笋般涌现。 从…

Linux云计算 |【第二阶段】SHELL-DAY5

主要内容: awk命令、内置变量(FS、$0、$1、$2、NF、NR)、过滤时机(BEGIN{}、{}、END{})、处理条件(正则、&&、||、~\!~、等)、awk数组、监控脚本、安全检测脚本 一、awk介绍 awk 是一…

【主机入侵检测】Wazuh解码器详解

前言 Wazuh 是一个开源的安全平台,它使用解码器(decoders)来从接收到的日志消息中提取信息。解码器将日志信息分割成字段,以便进行分析。Wazuh解码器使用XML语法,允许用户指定日志数据应该如何被解析和规范化。解码器的…

TP发邮件的功能如何实现?tp框架发送邮件?

tp发邮件系统如何设置发信?tp配置邮箱发送邮件方法? TP发邮件的功能,作为企业级应用中的一个关键模块,其稳定性和高效性直接影响到企业的日常运营。AokSend将深入探讨TP发邮件的功能如何实现,从基础配置到高级应用&am…

监控易监测对象及指标之:全面监控Oracle数据库

随着企业业务的不断增长和复杂化,Oracle数据库作为关键的业务数据管理系统,其性能和稳定性对于保障业务连续性至关重要。为了确保Oracle数据库的高效运行和稳定性能,对其进行全面监控成为了一项必要的工作。本文将基于监控易工具,…

搭建大模型知识库流程,以及基于langchain实现大模型知识库案例

“ RAG检索增强生成是为了解决大模型知识不足的问题 ” 大模型主要面临三个问题: 垂直领域内的知识不足 大模型知识有时间限制 大模型幻觉问题 第一个问题产生的原因是因为,没有经过垂直领域数据训练的大模型普遍表现不好;其次是目前的大…

新160个crackme - 054-vcrkme01

运行分析 需破解Name和Code PE分析 C程序,32位,无壳 静态分析&动态调试 ida找到关键字符串,双击进入函数 主函数静态分析,注释如上,还需要了解sub_401000函数 对sub_401000函数进行分析,注释如上&#…

半导体设备系列(2) 半导体设备与工厂控制仿真器Demo编写

可以用CS架构编写这两个仿真器,将设备写成服务器,接收来自工厂控制程序的命令。后续加上半导体设备通信协议。 半导体设备服务器 1)工程文件 QT core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You ca…

linux 操作系统下的convertquota命令介绍和使用案例

linux 操作系统下的convertquota命令介绍和使用案例 convertquota命令介绍 convertquota是Linux系统中用于转换旧格式的用户和组配额文件的命令。它可以将旧格式的quota.user和quota.group文件转换为新格式的aquota.user和aquota.group文件。新格式的配额文件支持32位的uid/g…

有关WSL和docker的介绍

目录标题 如何利用在windows上配置docker实现linux和windows容器修改WSL默认安装(也就是linux子系统)目录到其他盘 如何利用在windows上配置docker实现linux和windows容器 wsl的基本命令:参考网页 docker入门到实践:参考网页 官方…

深度学习基础--卷积网络

图像的三个特性指出了专门模型架构的必要性。 首先,图像是高维的,一个用于分类任务的典型图像含有 224224 RGB 值(即,150528 个输入维度)。在全连接网络中,隐藏层的规模通常超过输入大小,因此&a…

uniapp中使用uni.$emit和uni.$on在vue和nvue页面之间传值但是无法赋值的问题

背景:我们在vue页面和nvue页面之间进行传值可以使用uni.$emit和uni.$onsh事件监听实现,官网描述:uni-app官网 (dcloud.net.cn)https://uniapp.dcloud.net.cn/api/window/communication.html#emit 而且官网上也明确说明了: 一、问…

SLMi33x系列SLMi330HCG-DG具有主动保护功能 兼容光耦的单通道带保护功能的隔离驱动器

SLMi33x系列SLMi330HCG-DG优势和亮点:国内首款带DESAT保护功能并兼容光耦驱动的IGBT/SiC隔离驱动器,5kVrms隔离电压和高达10kV的隔离浪涌电压,CMTI超过100kV/us SLMi330HCG-DG内置快速去饱和(DESAT) 故障检测功能、米勒钳位功能、漏极开路故…

棋牌灯控箱计时计费管理系统软件网关端口设置方法 佳易王麻将馆计时收银会员管理系统操作教程

一、前言 棋牌灯控箱计时计费管理系统软件网关端口设置方法 佳易王麻将馆计时收银会员管理系统操作教程 1、佳易王计时计费软件可接配套的灯控器 2、计时开灯则打开对应的灯 3、结账后自动关灯。 二、软件程序功能图文 1、当前计费方式可以按单价或时间段 2、软件解压即可…

永成分歧式防爆器Y-FBQ型

永成分歧式防爆器Y-FBQ型 当努力成为生活的常态, 生活就时刻充满期待, 深知每份订单都是信任, 品质和专业是我晒单的底气。 用途 型号为Y-FBQ型,分歧式防爆器是安装在瓦斯抽放管路中的简易防爆装置。此款产品主要由进气管、出气…

HarmonyOS开发5.0【rcp网络请求】

一 概述 现在鸿蒙的网络还不成熟,所以咱们需要对网络请求框架二次封装,并且避免业务方直接引用到,预防当有比较新的成熟性价比高的框架的替换,这个过程肯定是不可避免的 1.1 第三方比如 [axios]的js库迁移过来的[httpclient]通过socket&am…

Linux s3c2440 开发板上的操作系统实现 ubuntu

使用s3c2440开发板 使用ubuntu 1.ubuntu中的tftp,和nfs Trivial File Transfer Protocol,简单文件 传输协议。 通过网络在客户端与服务器之间进行简单文件 传输。提供不复杂、开销不大的文件传输服务。 Network File System,网络文件系统。通过 网络…

OpenStack概论和部署

目录 1.1 云计算概述 1.1.1 什么是云计算 1.laaS 2.PaaS 3.Saas 1.1.2 0penStack 概述 1.OpenStack 起源 2.什么是 Openstack 3.OpenStack 优势 1.2 安装方式 1.2.1 在线安装 1.配置系统基本环境 2.为系统设置阿里的仓库 3:设置kvm源 4:设…

【HarmonyOS】头像圆形裁剪功能之手势放大缩小,平移,双击缩放控制(三)

【HarmonyOS】头像裁剪之手势放大缩小,平移,双击缩放控制(三) 一、DEMO效果图: 二、开发思路: 使用矩阵变换控制图片的放大缩小和平移形态。 通过监听点击手势TapGesture,缩放手势PinchGes…