Mysql内置函数、复合查询和内外连笔记
目录
一、mysql内置函数
1.1.日期函数
1.2.字符串函数
1.3.数学函数
1.4.其他函数
二、复合查询
2.2 自连接
2.3 子查询
2.3.1单行自查询
2.3.2 多行子查询
2.3.3 多列子查询
2.3.4在from子句中使用子查询
2.3.5合并查询
三、表的内连和外连
3.1内连接
3.2外连接
3.2.1 左外连接
3.2.2右外连接
一、mysql内置函数
1.1.日期函数
获得时间:
🖊获得年月日:select current_date();
🖊获得时分秒:select current_time();
🖊获得时间戳:select current_timestamp();
🖊在日期的基础上加日期:
🖊在日期的基础上减去时间:
🖊计算两个日期之间相差多少天:
案例:
创建一个留言表:
插入数据:
显示所有留言信息,发布日期只显示日期,不用显示时间:
查询在五分钟内发布的贴子:
🖊:select *from msg where date_add(sendtime,interval 5 minute)>now();
或🖊:select *from msg where date_sub(now(),interval 5 minute)<sendtime;
理解:
1.2.字符串函数
案例:
sql获取:码云
案例:
获取emp表的ename列的字符集:
要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
求学生表中学生姓名占用的字节数:
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节(与字符集编码有关)。
将emp表中所有名字中有S的替换为‘北京’
截取emp表中ename字段的第二个到第三个字符
以首字母小写的方式显示所有员工的姓名:
select concat(lcase(substring(ename,1,1)),substring(ename,2)) from emp;
1.3.数学函数
绝对值:select abs();
向上取整:select ceiling();
向下取整: select floor();
理解:
向上取整简单来说,就是向大的整数方向取整,舍弃小数部分。比如23.04向上取整就是24,-5.9向上取整就是-5.
同理,向下取整是朝着小的整数取整,舍弃小数部分。3.7向下取整是3.-1.3向下取整是-2.
向0取整,是朝0靠拢,5.6向零取整是5,-6.6向0取整是-6
保留n位小数位数:select format(小数,n);
产生随机数:select rand();
mysql中,产生随机数,产生的是0-1的小数。
如果要得到0-100的随机数:
1.4.其他函数
🖊user()查询当前用户
select user();
🖊md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
通常用于加密。
🖊password()函数,mysql数据库使用该函数对用户进行加密
🖊ifnull(val1,val2)如果val1为null,返回val2,否则返回val1的值。
二、复合查询
2.1.多表查询
实际开发中往往数据来自不同的表,所以需要多表查询。在此借用一个简单的公司管理系统,还是从码云下载。有三张表emp,dept,salgrade来演示如何进行多表查询。
案例:
🖊显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自emp表和dept表,因此要联合查询。
这种结果称为笛卡尔积。
🖊显示部门号为10的部门名,员工名和工资
🖊显示各个员工的姓名,工资,及工资级别
2.2 自连接
自连接是指在同一张表连接查询
案例:员工FORD的上级领导的编号和姓名(mgr是员工领导的编号)
🖊使用的子查询:
🖊使用多表查询(自查询)
2.3 子查询
子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。
2.3.1单行自查询
返回一行记录的子查询
🖊显示SMITH同一部门的员工
2.3.2 多行子查询
返回多行记录的子查询
🖊in关键字;
查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含自己的。
🖊all关键字;
显示工资比部门30的所有员工的工资高的员工的姓名,工资和部门号
第一种方式,当然可以找出部门30最高的工资,只要比这个工资高即可:
比部门30所有的员工工资高,使用all:
🖊any关键字:显示工资比部门30的任意一个员工工资高的员工的姓名,工资和部门号
2.3.3 多列子查询
单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句。
案例: 查询和SMITH的部门和岗位完全相同的所有雇员,不包含SMITH本人。
2.3.4在from子句中使用子查询
子查询语句出现在from子句中。子查询当作一个临时表使用。
🖊显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
🖊查找每个部门工资最高的人的姓名,工资,部门,最高工资。
🖊显示每个部门的信息(部门号,编号,地址)和人员数量
2.3.5合并查询
🖊union
union操作符用于取得两个结果集的并集,当使用该操作符时,会自动去掉结果集中的重复行。
案例:将工资大于2500或职位是MANAGER的人找出来
去掉了重复数据:
🖊union all
该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行。
案例:将工资大于25000或职位是MANAGER的人找出来
三、表的内连和外连
3.1内连接
内连接实际上就是利用where子句对两种表形成的笛卡尔积进行筛选,前面讲述的都是内连接,实际开发过程中使用最多的连接查询。
语法:
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
案例:显示SMITH的名字和部门名称:
之前的写法:
标准的内连接写法:
3.2外连接
外连接分为左外连接和右外连接
3.2.1 左外连接
如果联合查询时左侧的表完全显示我们就说是左外连接。
语法: select 字段名 from 表1 left join 表2 on 连接条件
案例:
建两张表:
🖊查询所有学生的成绩,如果这个学生没有成绩,也要讲学生的个人信息显示出来
--当左边表和右边表没有匹配时,也会显示左边表的数据
3.2.2右外连接
语法:select 字段 from 表1 right join 表2 on 连接条件
案例:对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来。
相关文章:
Mysql内置函数、复合查询和内外连笔记
目录 一、mysql内置函数 1.1.日期函数 1.2.字符串函数 1.3.数学函数 1.4.其他函数 二、复合查询 2.2 自连接 2.3 子查询 2.3.1单行自查询 2.3.2 多行子查询 2.3.3 多列子查询 2.3.4在from子句中使用子查询 2.3.5合并查询 三、表的内连和外连 3.1内连接 3.2外连接…...
【VUE·疑难问题】定义 table 中每行的高度(使用 element-UI)
一、如何定义 table 中每一行的 height ? 1.table例子 <!-- 二、table --><div style"overflow: hidden;display: block;height: 68vh;width: 100%;"><el-table stripe show-header style"width: 100%" :data"tableData&q…...
【重拾C语言】四、循环程序设计(后判断条件循环、先判断条件循环、多重循环;典例:计算平均成绩、打印素数、百钱百鸡问题)
目录 前言 四、循环程序设计 4.1 计算平均成绩——循环程序 4.1.1 后判断条件的循环 a. 语法 b. 典例 4.1.2 先判断条件的循环 a. 语法 b. 典例 4.1.3 for语句 a. 语法 b. 典例 4.2 计算全班每人平均成绩—多重循环 4.2.1 打印100以内素数 4.2.2 百钱百…...
Linux 安装 Gitlab
1、到官网下载Gitlab安装包 (如果是Centos,到el目录下载)。下载GitLab 2、安装依赖软件 sudo yum install -y policycoreutils-python3、安装gitlab sudo rpm -i gitlab-jh-16.3.4-jh.0.el7.x86_64.rpm 4、修改 gitlab.rb sudo vi /etc/gitlab/gitlab.rb 5、g…...
stm32-SPI协议
SPI协议详解(图文并茂超详细) SPI通讯协议 于是我们想有没有更好一点的串行通讯方式;相比较于UART,SPI的工作方式略有不同。 SPI是一个同步的数据总线,也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和…...
想要精通算法和SQL的成长之路 - 并查集的运用和案例(省份数量)
想要精通算法和SQL的成长之路 - 并查集的运用 前言一. 并查集的使用和模板1.1 初始化1.2 find 查找函数1.3 union 合并集合1.4 connected 判断相连性1.5 完整代码 二. 运用案例 - 省份数量 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 并查集的使用和模板 先说一下并查集…...
解决内网拉取企微会话存档代理问题的一种办法
问题:客户的服务都是内网的,不能直接访问外网;访问外网的话需要走kong网关才能出去。 会话存档官网说可以使用socket5、http方式拉取会话存档;我这边尝试了直接使用kong网关的ip和端口配置进去,是访问不了的 我后面就…...
二十二,加上各种贴图
使用pbr的各种贴图,albedo,金属度,ao,法线,粗糙度,可以更好的控制各个片元 1,先加上纹理坐标 texCoords->push_back(osg::Vec2(xSegment, ySegment)); geom->setVertexAttribArray(3, texCoords, osg::Array::BI…...
新版校园跑腿独立版小程序源码 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务
最新校园跑腿小程序源码 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 此版本为独立版本,不需要** 直接放入就可以 需要自己准备好后台的服务器,已认证的小程序…...
SpringBoot banner 样式 自动生成
目录 SpringBoot banner 样式 自动生成 图案网站: 1.第一步创建banner.txt文件 2.访问网站Ascii艺术字实现个性化Spring Boot启动banner图案,轻松修改更换banner.txt文件内容,收集了丰富的banner艺术字和图,并且支持中文banner下…...
回收站里面删除的照片如何恢复?
现在拍照已经成为人们生活中的一种方式,照片为我们保留了许多珍贵而美好的回忆。大家通常会把重要的照片保存在硬盘里,但当不小心把照片移入回收站并彻底删除时,情况就有点糟糕了。那么,回收站里删除的照片还有办法恢复吗…...
Qt model/view 理解 2
这是我对 Qt 的 model/view 内容理解的第二篇 blog,在第一篇文章中,介绍 QTableView 和 QAbstractTableModel,实现显示了对数据源的显示,但是显示的格式和修改的模式都是按照 View 控件的自显示方式。在此,使用 Qt 自带…...
【LeetCode热题100】--114.二叉树展开为链表
114.二叉树展开为链表 方法一:对二叉树进行先序遍历,得到各个节点被访问到的顺序,利用数组存储下来,然后在先序遍历之后更新每个节点的左右节点的信息,将二叉树展开为链表 /*** Definition for a binary tree node.* …...
Java | Maven(知识点查询)
文章目录 Maven知识速查1. Maven概述2. Maven的作用3. Maven的下载4. Maven的环境配置5. Maven 的基础组成5.1 Maven仓库5.1.1 本地仓库配置:5.1.2 中央仓库配置:5.1.3 镜像仓库配置 5.2 Maven坐标 6. Maven项目6.1 手工创建Maven项目6.2 自动构建项目 7…...
Vmware 静态网络配置
概述 仅主机模式(VMware1):使用host-only的方式是不能和外界通信的,只能够和本机的物理网卡通信 桥接(VMnet0):使用桥接的方式使得自己的虚拟机和自己的真实机网卡在同一个网段 NAT࿰…...
【数据结构--八大排序】之希尔排序
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
Linux中生成so库的文件引用另一个so库问题的解决
文章目录 一、问题介绍二、问题解决 一、问题介绍 由于项目需求,需要将一个“编译时引用了另一个动态链接库”的文件(名为main.c),再编译成一个动态链接库。 简要说明一下,即原本的项目代码里,包含main.c…...
EDI是连接原始电子商务和现代电子商务的纽带
EDI是连接原始电子商务和现代电子商务的纽带。 EDI(Electronic Data Interchange,电子数据交换)是一种电子通信技术,用于在不同组织之间以结构化和标准化的方式交换业务文档和数据。EDI使企业能够更有效地与供应商、客户和合作伙…...
星宿UI2.4资源付费变现小程序源码 支持流量主
第一个小程序为星宿小程序 目前是最新版2.0 搭建星宿需要:备用域名 服务器 微信小程序账号 功能:文章展示 文章分类 资源链接下载 轮播图 直接下载附件功能 很多 很适合做资源类分享 源码下载:https://download.csdn.net/download/m0_6604…...
代码随想录训练营二刷第四十六天 | 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ
代码随想录训练营二刷第四十六天 | 518. 零钱兑换 II 377. 组合总和 Ⅳ 一、518. 零钱兑换 II 题目链接:https://leetcode.cn/problems/coin-change-ii/ 思路:完全背包求组合数,递推公式dp[j]dp[j-nums[i]]。 求组合数,物品在外…...
python安装第三方模块方法
正常情况下安装python第三方模块没啥说的,但是由于python安装模块默认是在外网下载安装,牵扯外网网速问题,所以可以配置下使用国内某镜像源来下载模块 python -m pip install xxxxxxxxxxx 和 pip install xxxxxxxxxx 的命令都可下载安装第三…...
广西小贷公司设立及小贷牌照申请政策要求
关于广西小额贷款公司设立及小贷牌照申请,依据《关于小额贷款公司试点的指导意见》(银监发〔2008〕23号);《广西壮族自治区小额贷款公司管理办法》(桂政发〔2009〕71号);《广西壮族自治区人民政…...
PyTorch应用实战二:实现卷积神经网络进行图像分类
文章目录 实验环境MNIST数据集1.网络结构2.程序实现2.1 导入相关库2.2 构建卷积神经网络模型2.3 加载MNIST数据集2.4 训练模型 附:系列文章 实验环境 python3.6 pytorch1.8.0 import torch print(torch.__version__)1.8.0MNIST数据集 MNIST数字数据集是一组手写…...
面试系列 - Java常见算法(二)
目录 一、排序算法 1、插入排序(Insertion Sort) 2、归并排序(Merge Sort) 二、图形算法 1、最短路径算法(Dijkstra算法、Floyd-Warshall算法) Dijkstra算法 Floyd-Warshall算法 2、最小生成树算法&…...
Cortex-A9 架构
一、Cortex-A 处理器运行模式 Cortex-A9处理器有 9中处理模式,如下表所示: 九种运行模式 在上表中,除了User(USR)用户模式以外,其它8种运行模式都是特权模式,在特权模式下,程序可以访问所有的系统资源。这…...
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
前言:昨天我们学习了C语言中循环结构程序设计,并分析了循环结构的特点和实现方法,有了初步编写循环程序的能力,那么今天我们通过一些例子来进一步掌握循环程序的编写和应用。 💖 博主CSDN主页:卫卫卫的个人主页 💞 &am…...
UGUI交互组件Toggle
一.Toggle对象的构造 Toggle和Button类似,是交互组件的一种 如果所示,通过菜单创建了两个Toggle,Toggle2中更换了背景和标记资源 对象说明Toggle含有Toggle组件的对象Background开关背景Checkmark开关选中标记Label名称文本 二.Toggle组件属…...
亲,您的假期余额已经严重不足了......
引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 转眼八天长假已经接近尾声了,今天来总结一下大家的假期,聊一聊假期关于学习的看法,并预估一下大家节后大家上班时的样子。 1.放假前一天 即将迎来八天…...
【软件测试】自动化测试selenium(一)
文章目录 一. 什么是自动化测试二. Selenium的介绍1. Selenium是什么2. Selenium的特点3. Selenium的工作原理4. SeleniumJava的环境搭建 一. 什么是自动化测试 自动化测试是指使用软件工具或脚本来执行测试任务的过程,以替代人工进行重复性、繁琐或耗时的测试活动…...
Nginx实现动静分离
一、概述 1、什么是动静分离 动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。 动静分离简单的概…...
做贷款网站犯法/最近热点新闻事件
原文链接http://www.sxt.cn/info-2730-u-756.html 目录 Spark开发指南简介接入SparkJava初始化SparkJava弹性分布式数据集并行集合外部数据集RDD操作基本操作传递Functions到SparkWroking with Key-Value Pairs使用键/值对工作转换动作RDD持久化存储级别的选择移除数据共享变量…...
wordpress 插件上传漏洞/搜索引擎网址有哪些
剪板机出现崩口的原因是我们在工作中经常会遇到的情况,在这里我们专业的剪板机厂家来给大家介绍一下吧,一般来说,我们要经常的给剪板机知识进行介绍,了解这方面的剪板机知识。剪板机为什么会出现崩口呢?液压剪板机在很多的加工过…...
企业做可信网站认证的好处/营销型网站分析
3.首先需保证服务器可以连接到互联网,建议使用固定IP地址,登录服务器后输入“vi /etc/selinux/config”。4.按“i”键进入编辑状态,将第六行修改为“SELINUXdisable”,如下图所示,并按“ESC”键输入“:x”保存退出。5.在命令行输入…...
做外贸的b2b网站有哪些/做一个公司网站大概要多少钱
今天完成了触发器的制作,也就是迷宫中的人物到达了终点,会自动跳到下一关。 遇到的困难和解决方法: 主要是代码的调试,在编写好代码文件后,无法加入到属性,最后发现是文件名和代码里的文件名不同步…...
自己做视频网站收益怎么来/作品推广
依赖注入依赖注入是个花俏的名词,事实上是指:类的依赖通过构造器或在某些情况下通过「setter」方法「注入」。先看一段 Laravel 控制器里的代码实例:<?php namespace App\Http\Controllers;use Illuminate\Routing\Controller;use App\Us…...
金山区做网站公司/计算机培训机构哪个最好
1. 使用列表初始化 在c98/03中,对象的初始化方法有很多种,例如 int ar[3] {1,2,3}; int arr[] {1,2,3}; //普通数组 struct A{int x;struct B{int y;int z;} b; }a {1, {3,4}}; //POD类型,可以直接使用memcpy复制的对象int i 0…...