Mysql之增强查询

news2024/12/23 16:28:56

增强查询主要是对之前一些指令的补充

查询增强

主要针对单表查询的增强操作,也是上面一些细节的补充
在这里插入图片描述
在这里插入图片描述

-- 使用where语句
-- 查找1991.1.1后入职的员工
-- 主要是介绍在mysql中日期类型可以直接比较,需要注意格式
SELECT * FROM emp
	WHERE hiredate > '1991-01-01'
-- 如何使用like操作符
-- 	%:表示0-多个任意字符,李%就是 只要开头是李就算
--      _:表示单个字符,李_就是姓李的两个字的名字

-- 显示首字母为S的员工和工资
SELECT ename,sal FROM emp
	WHERE ename LIKE 'S%'
-- 显示第三个字符为大写O的所有员工的姓名和工资
SELECT ename,sal FROM emp
	WHERE ename LIKE '__O%'
-- 查询表结构
DESC emp

-- orderby
-- 按照工资从低到高顺序,显示雇员
SELECT * FROM emp
	ORDER BY sal
-- 先按照部门号升序,部门号同,按照工资降序
SELECT * FROM emp
	ORDER BY deptno, sal DESC;
-- 这样写的话就是先按部门号升序,然后部门内部按照薪水降序

1.日期可以直接比较2.LIKE 两个标记位 第一个%代表一个或多个任意字符,第二个_只能代表一个任意字符
ORDER BY 第一关键字 升序/降序,第二关键字 升序/降序
就能先第一关键字升序/降序完后,在相同组内进行第二该关键字的升序/降序

分页查询

比如说一个表有10w行记录肯定不能一下显出来,只能一行行显喽这就用到分页查询了
在这里插入图片描述

就是 LIMIT 数字1,数字2
数字1代表开始位置,真正的开始位置是数字1+1
0,3就是从1位置开始取三行
数字2就是取几行
可以认为是前开后闭(数字1,数字1+数字2)

-- 分页查询
-- 按empno升序取,每页三条记录,请分别显示第一页,第二页,第三页
-- 第一页
SELECT * FROM emp
	ORDER BY empno
	LIMIT 0,3
-- 第二页
SELECT * FROM emp
	ORDER BY empno
	LIMIT 3,3
-- 第三页
SELECT * FROM emp
	ORDER BY empno
	LIMIT 6,3	
# 公式的话上面有 LIMIT 每页显示记录数*(第几页-1),每页显示记录数

分组加强

group by
在这里插入图片描述
直接上代码演示

# 演示增强分组
-- 显示每种岗位的雇员总数,平均工资
SELECT COUNT(*),FORMAT(AVG(sal),3),job  -- 保留三位小数用format
	FROM emp
	GROUP BY job
-- 显示雇员总数,以及获得补助的(comn为非null)雇员数
SELECT COUNT(*),COUNT(comn) -- 注意:count不会统计为null的
	FROM emp
-- 统计没有获得补助的
SELECT COUNT(IF (comn IS NULL,1,NULL)) FROM emp


-- 显示管理人员总数,管理人员编号可能相同,相同不算,mgr是编号
SELECT COUNT(DISTINCT mgr) -- distinct 约束条件查找的mgr不能相同,相同不计数
	FROM emp
-- 显示雇员工资最大差额
SELECT MAX(sal)-MIN(sal) 
		FROM emp

下面有个HAVING 可以对分组的结果进行过滤
相当于代替了WHERE
看下面演示小结的代码

小结

在这里插入图片描述
顺序不能颠倒,要不然会报错
在这里插入图片描述
注意的是
avg_sal可能是带小数点你想格式化
不能用format了,因为format函数返回类型是字符串,而having子句需要与1000整型比较大小,冲突了
所以可以使用字符串的STRCMP(AVG(sal),1000)>0作为having筛选条件

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

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

相关文章

【异常】记一次因修复漏洞扫描导致SpringSecurity出现的循环依赖问题

一、循环依赖问题 APPLICATION FAILED TO START Description: The dependencies of some of the beans in the application context form a cycle: ┌─────┐ | springSecurityConfig (field private XXXX.config.MyauthenticationProvider XXXX.config.SpringSecurityC…

十五天学会Autodesk Inventor,看完这一系列就够了(十),凸雕、贴图

众所周知,Autocad是一款用于二维绘图、详细绘制、设计文档和基本三维设计,现已经成为国际上广为流行的绘图工具。Autodesk Inventor软件也是美国AutoDesk公司推出的三维可视化实体模拟软件。因为很多人都熟悉Autocad,所以再学习Inventor&…

springcloud alibaba -- seata原理和使用

文章目录一、认识Seata1.1 Seata 是什么?1.2 了解AT、TCC、SAGA事务模式?AT 模式前提整体机制如何实现写隔离如何实现读隔离TCC 模式Saga 模式Saga 模式适用场景Saga 模式优势Saga 模式缺点二、Seata安装2.1 下载2.2 创建所需数据表2.2.1 创建 分支表、全局表、锁表2.2.2 创建…

内存一致性模型概念

phrase-20230117184107 内存一致性模型(Memory Consistency Models)提供内存一致性保证,一致性结果体现在程序内存操作是可预测的。例如在多核或多处理器硬件上,在编写并行的程序时,如果理解当前系统所使用的一致性模型,有助于使…

OpenStack GPU直通服务器

layout: post title: OpenStack GPU直通服务器 catalog: true tag: [OpenStack, GPU] 1. 概述2. 直通GPU特性3. 功能说明 3.1. 操作系统支持3.2. 设备支持 4. 实现方案5. 部署方案 5.1. 示例环境说明5.2. 上线步骤 5.2.1. 硬件安装5.2.2. GPU计算节点主机配置 5.2.2.1. IOMMU设…

【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程

程序员语录: 把时髦的技术挂在嘴边,还不如把过时的技术记在心里。 1 二叉查找树是什么? 二叉查找树是一种数据结构,又叫作二叉搜索树或二叉排序树,采用了图的树形结构,数据存储于二叉查找树的各个结点中,每…

GEE 9:Earth Engine Reducers 的基本操作

目录1.Image 、ImageCollection and Regions Reducers(图层和区域的相关操作)1.1 Image Reductions(处理单个图层)1.2 ImageCollection Reductions(处理图层集)1.3 Greenest pixel (maximum NDVI) composit…

01背包——二维动态规划【c++】代码实现

今天学了01背包,就想来讲一讲,正好回顾一下(BZOJ上的题目)。 01背包 所谓01背包,也就是背包的一种,01背包和完全背包的区别就在于,01背包一件物品只能选择一次,而完全背包可以重复…

架构运维篇(七):Centos7/Linux中安装Zookeeper

版本说明 JDK :1.8(已安装)ZK : 3.8.0 安装部署Zookeeper 第一步:下载最新版本 官网地址:Apache DownloadsHome page of The Apache Software Foundationhttps://www.apache.org/dyn/closer.lua/zookeeper/zookeep…

libvirt零知识学习1 —— libvirt简介

本文内容部分取自《KVM实战 —— 原理、进阶与性能调优》,非常好的一本书。 1. 概述 提到KVM的管理工具,首先必须要介绍的无疑是大名鼎鼎的libvirt。libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口。并且,一些常用的虚…

Oracle VM VirtualBox 安装 CentOS Linux

Virtual Box VirtualBox是一个强大的、面向个人用户或者企业用户的虚拟机产品,其支持x86以及AMD64/Intel64的计算架构,功能特性丰富、性能强劲,支持GPL开源协议,其官方网址是www.virtualbox.org,由Oracle开源&#xf…

Spring自动装配

自动装配的三种方式一、xml方式自动装配二、 按类型自动装配三、使用注解一、xml方式自动装配 byName: 会自动在容器上下文查找,和自己对象set方法后面的值对应的bean id(通过id匹配) //实体类 Data public class Pepole {private String n…

GameFrameWork框架(Unity3D)使用笔记(八) 实现场景加载进度条

前言: 游戏在转换场景的时候,需要花费时间来加载相关的资源。而这个过程往往因为游戏场景的规模和复杂度以及玩家电脑配置的原因花费一小段时间(虽然这个项目里用不到)。 所以,如果这一小段时间,画面就卡在…

计算机网络 —— TCP篇 三次握手与四次挥手

计算机网络系列文章目录 TCP篇 三次握手四次挥手 socket 文章目录计算机网络系列文章目录前言4.1 tcp三次握手与四次挥手面试题4.1.1 TCP的基本认识TCP头部为什么需要tcp,tcp工作在哪一层什么是tcp什么是tcp连接如何唯一确定一个tcp连接(tcp&udp比较) UDP 和 T…

机器学习【西瓜书/南瓜书】--- 第1章绪论+第二章模型选择和评估(学习笔记+公式推导)

【西瓜书南瓜书】task01: 第1、2章(2天) 第一章 绪论 主要符号表 下述这些符号在本书中将频繁的使用,务必牢记于心各个特殊符号所具有的的含义 🌟对上述部分定义做一下解释: 向量有维度,其中的元素是有…

路由器NAT典型配置

1.组网需求内部网络中IP地址为10.110.10.0/24的用户可以访问Internet,其它网段的用户则不能访问Internet。外部的PC可以访问内部的服务器。公司具有202.38.160.100/24至202.38.160.105/24六个合法的IP地址。选用202.38.160.100作为公司对外的IP地址,WWW服…

stm32平衡小车(2)-----编码器电机驱动

前言:之前做arduino小车的时候使用的是L298N电机,没有用过编码器,这次第一次用编码器,还是比较懵圈,记录一下学的整个过程。 1.编码器的简介 霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字…

下载整个网站

使用Cyotek WebCopy下载整个网站一、下载网站复制所需软件:二、打开Cyotek WebCopy,然后下载网站系统环境:win10 所需工具:Cyotek WebCopy 一、下载网站复制所需软件: https://www.cyotek.com/cyotek-webcopy/downloa…

3-3存储系统-高速缓冲存储器Cache

文章目录一.概述二.Cache与主存的映射方式1.直接映射2.全相联映射3.组相联映射三.Cache中主存块的替换算法1.随机算法RAND2.先进先出算法FIFO3.最近最少使用算法LRU4.最不经常使用算法LFU四.Cache写策略1.写命中2.写不命中一.概述 高速缓冲存储器(Cache&#xff09…

labelme使用labelme2voc.py忽略部分标签生成VOC/coco类型数据集(Ignore a label in json file)

一:背景和问题描述这是一个比较小众,且查找全网未有答案的问题。在使用labelme标注数据之后,生成了json文件。在利用json文件生成可用于训练分割模型的voc或者coco数据集时,可以使用labelme中自带的示例文件labelme2voc.py&#x…