Mysql常见函数和用法(重点)

where子句中经常使用的运算符

 

-- 查询总分大于200分的所有同学

select * from student2 where (chinese+english+math)>200;

 -- 查询math大于60 并且(and)id大于4的学生成绩

select * from student2 where math>60 and id>4;

-- 查询英语成绩大于语文成绩的同学

select * from student2 where english > chinese;

--查询总分大于200分 并且 数学成绩小于语文成绩,的姓赵的学生.

-- 赵% 表示 名字以韩开头的就可以 

 select * from student2 where (chinese+english+math)>200 and math<chinese and name like '赵%';  

查询英语分数在 80-90之间的同学。

-- between .. and .. 是 闭区间

select * from student2 where english between 80 and 90 ; 

-- 查询数学分数为89,90,91的同学。

select * from student2 where math in (89,90,91); 

order by 子句排序查询结果 

 对数学成绩排序后输出(升序)

select * from student2 order by math;

对总分按从高到低的顺序输出 [降序]-- 使用别名排序

select `name`,(math+chinese+english) as total from student2 order by total  DESC;

合计 (count)

-- 统计数学成绩大于90的学生有多少个?


SELECT COUNT(*)  FROM student2  WHERE math>90


-- 统计总分大于250的人数有多少?


SELECT COUNT(*)  FROM student2 WHERE (math + english + chinese) > 250

-- count(*) 和 count(列) 的区别

-- 解释 :count(*) 返回满足条件的记录的行数

-- count(列): 统计满足条件的某列有多少个,但是会排除 为null的情况

 统计函数(sum)

-- 统计一个班级数学总成绩?

SELECT SUM(math)  FROM  student2;

-- 统计一个班级语文、英语、数学各科的总成绩

SELECT SUM(math) AS  math_total_score,SUM(english),SUM(chinese) FROM student2;

--统计一个班级语文、英语、数学的成绩总和

SELECT SUM(math+english+chinese) FROMs tudent2;

--统计一个班级语文成绩平均分

SELECT SUM(chinese)/COUNT(*) FROM student2; 

求平均值函数(avg) 

--求一个班级数学平均分?

SELECT AVG(math) FROM student2;

--求一个班级总分平均分

SELECT AVG(math+english+chinese) FROM student2;

最大值(max)和最小值(min)

--求班级最高分和最低分(数值范围在统计中特别有用)

SELECT MAX(math+english+chinese),MIN(math+english+chinese) FROM student2;

--求出班级数学最高分和最低分

SELECT MAX(math) AS math_high_socre,MIN(math) AS math_low_socre FROM student2; 

groupby子句对列进行分组

创建部门表

 /*部门表*/
 CREATE TABLE dept(
 deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
 dname VARCHAR(20) NOT NULL DEFAULT "",
 loc VARCHAR(13) NOT NULL DEFAULT "");

导入数据

INSERT INTO dept VALUES ( 10, 'ACCOUNTING', 'NEWYORK' ),( 20, 'RESEARCH', 'DALLAS' ),( 30, 'SALES', 'CHICAGO' ),
( 40, 'OPERATIONS', 'BOSTON' ); 

创建员工表

CREATE TABLE emp (

/*编号*/
    empno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
/*名字*/
    ename VARCHAR ( 20 ) NOT NULL DEFAULT "",
/*工作*/
    job VARCHAR ( 9 ) NOT NULL DEFAULT "",
/*上级编号*/
    mgr MEDIUMINT UNSIGNED,
/*入职时间*/
    hiredate DATE NOT NULL,
/*薪水*/
    sal DECIMAL ( 7, 2 ) NOT NULL,
/*红利 奖金*/
    comm DECIMAL ( 7, 2 ),

/*部门编号*/
deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0
); 

导入数据

INSERT INTO emp
VALUES
    ( 7369, 'SMITH', 'CLERK', 7902, '1990-12-17', 800.00, NULL, 20 ),
    ( 7499, 'ALLEN', 'SALESMAN', 7698, '1991-2-20', 1600.00, 300.00, 30 ),
    ( 7521, 'WARD', 'SALESMAN', 7698, '1991-2-22', 1250.00, 500.00, 30 ),
    ( 7566, 'JONES', 'MANAGER', 7839, '1991-4-2', 2975.00, NULL, 20 ),
    ( 7654, 'MARTIN', 'SALESMAN', 7698, '1991-9-28', 1250.00, 1400.00, 30 ),
    ( 7698, 'BLAKE', 'MANAGER', 7839, '1991-5-1', 2850.00, NULL, 30 ),
    ( 7782, 'CLARK', 'MANAGER', 7839, '1991-6-9', 2450.00, NULL, 10 ),
    ( 7788, 'SCOTT', 'ANALYST', 7566, '1997-4-19', 3000.00, NULL, 20 ),
    ( 7839, 'KING', 'PRESIDENT', NULL, '1991-11-17', 5000.00, NULL, 10 ),
    ( 7844, 'TURNER', 'SALESMAN', 7698, '1991-9-8', 1500.00, NULL, 30 ),
    ( 7900, 'JAMES', 'CLERK', 7698, '1991-12-3', 950.00, NULL, 30 ),
    ( 7902, 'FORD', 'ANALYST', 7566, '1991-12-3', 3000.00, NULL, 20 ),
    ( 7934, 'MILLER', 'CLERK', 7782, '1992-1-23', 1300.00, NULL, 10 );

#工资级别表

CREATE TABLE salgrade (

/*工资级别*/
    grade MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
/* 该级别的最低工资 */
    losal DECIMAL ( 17, 2 ) NOT NULL,
/* 该级别的最高工资*/
    hisal DECIMAL ( 17, 2 ) NOT NULL
)

  INSERT INTO salgrade VALUES (1,700,1200);
 INSERT INTO salgrade VALUES (2,1201,1400);
 INSERT INTO salgrade VALUES (3,1401,2000);
 INSERT INTO salgrade VALUES (4,2001,3000);
 INSERT INTO salgrade VALUES (5,3001,9999);

如何显示每个部门的平均工资和最高工

-- having 子句用于限制分组显示结果.

-- 分析:avg(sal) max(sal)

-- 按照部分来分组查询

SELECT AVG(sal), MAX(sal) , deptno FROM emp GROU PBY deptno;

-- 使用数学方法,对小数点进行处理 

 SELECT FORMAT(AVG(sal),2), MAX(sal) , deptno FROM emp GROUP BY deptno;  

显示每个部门的每种岗位的平均工资和最低工资

SELECT AVG(sal), deptno FROM emp GROUP BY deptno HAVINGAVG(sal) < 2000; 

 字符串相关函数

-- CHARSET(str) 返回字串字符集

SELECT CHARSET(ename)  FROM emp;

-- CONCAT(string2 [,... ]) 连接字串, 将多个列拼接成一列

SELECT CONCAT(ename, ' 工作是 ', job) FROM emp; 

 ......

数学相关函数 

时间日期相关函数 

 

 

加密和系统函数 

 

流程控制函数 

 自连接

合并查询

 

mysql 表外连接 

 

 

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

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

相关文章

跟着cherno手搓游戏引擎【26】Profile和Profile网页可视化

封装Profile&#xff1a; Sandbox2D.h:ProfileResult结构体和ProfileResult容器&#xff0c;存储相应的信息 #pragma once #include "YOTO.h" class Sandbox2D :public YOTO::Layer {public:Sandbox2D();virtual ~Sandbox2D() default;virtual void OnAttach()ove…

【Python 数据分析 实战案例】通过用户和订单的数据分析,制定营销策略

在互联网行业中&#xff0c;电子商务领域绝对是数据分析用途最多的地方&#xff0c;各大电商平台都依赖数据分析帮助其挖掘用户订单增长机会。比如某宝的随手买一件&#xff0c;核心思路也就是根据用户的日常浏览内容及停留时间&#xff0c;以及订单的关联度来进行推荐的。 本…

AI与大数据:智慧城市安全的护航者与变革引擎

一、引言 在数字化浪潮的席卷下&#xff0c;智慧城市正成为现代城市发展的新方向。作为城市的神经系统&#xff0c;AI与大数据的融合与应用为城市的安全与应急响应带来了革命性的变革。它们如同城市的“智慧之眼”和“聪明之脑”&#xff0c;不仅为城市管理者提供了强大的决策…

VScode连接远端服务器一直输入密码解决方法

文章目录 1 关闭远程连接2打开命令面板3 输入remote-ssh: kill vs code server on host… 1 关闭远程连接 2打开命令面板 3 输入remote-ssh: kill vs code server on host… remote-ssh: kill vs code server on host… 然后一路回车(选中出问题的主机)&#xff0c;输一遍密码…

tmux的使用方法

1. tmux的定义 我&#xff1a;什么是tmux&#xff1f; GPT&#xff1a;tmux&#xff08;terminal multiplexer&#xff09;是一个强大的终端复用器&#xff0c;它允许用户在一个终端窗口中创建、访问和控制多个会话。使用tmux&#xff0c;你可以在一个窗口中打开多个终端会话&…

SpringMVC(1)

目录 SpringMVC简介入门案例启动服务器初始化过程单次请求过程bean加载控制 PostMan请求与响应设置请求映射路径请求参数五种类型参数传递JSON数据日期类型参数传递响应 RestRest 简介RESTful快速开发 SpringMVC是隶属于Spring框架的一部分&#xff0c;主要是用来进行Web开发&a…

快速搭建宠物医院服务小程序的步骤,无需编程经验

如果你是一家宠物医院或者宠物服务机构&#xff0c;想要拥有一款方便用户预约、查询信息的小程序&#xff0c;那么乔拓云网提供的轻应用小程序是你的不二选择。下面将为你详细介绍如何轻松打造宠物医院服务小程序。 1. 进入乔拓云网后台&#xff0c;点击【轻应用小程序】中的【…

FDTD算法总结

计算电磁学(Computational Electromagnetics, CEM)是通过数值计算来研究电磁场的交叉学科。 数值求解电磁学问题的方法可以分成频域(Frequency Doamin, FD)、时域(Time Domain, TD)等两类。 频域法基于时谐微分&#xff0c;通过对多个采样值的傅里叶逆变换得到所需的脉冲响应…

代码随想录|学习工具分享

工具分享 画图 https://excalidraw.com/ 大家平时刷题可以用这个网站画草稿图帮助理解&#xff01;如果看题解很蒙或者思路不清晰的时候&#xff0c;跟着程序处理流程画一个图&#xff0c;90%的情况下都可以解决问题&#xff01; 数据结构可视化 https://www.cs.usfca.edu/…

Springboot应用执行器Actuator源码分析

文章目录 一、认识Actuator1、回顾Actuator2、Actuator重要端点 二、源码分析1、Endpoint自动装配&#xff08;1&#xff09;自动配置入口&#xff08;2&#xff09;普通Endpoint自动装配&#xff08;3&#xff09;配置Web - Endpoint&#xff08;4&#xff09;注册Endpoint为M…

vue_pdf,word,excel,pptx等文件预览

项目背景&#xff1a;vue3elementPlusvite 1.pdf 1.1 iframe预览 #toolbar0 拼接到src后&#xff0c;可隐藏iframe顶部的工具栏 <template><div class"viewPDF.vue"><uploadFile file"getFile" accept".pdf,.PDF" ></up…

redis八股

文章目录 数据类型字符串实现使用场景 List 列表实现使用场景 Hash 哈希实现使用场景 Set 集合实现使用场景 ZSet 有序集合实现使用场景 BitMap实现使用场景 Stream使用场景pubsub为什么不能作为消息队列 数据结构机制SDS 简单动态字符串压缩列表哈希表整数集合跳表quicklistli…

vue3+electron开发桌面应用,静态资源处理方式及路径问题总结

1、静态资源放到src/assets/目录下 静态资源,例如图片、静态的JSON文件、视频、CSS等等,放到src/assets目录下。 不然会很蛋疼,这个坑我踩过了。切记,切记!! 以下是CHATGPT-4 Turbo的回答: 在 Vue 应用程序中,src/assets 目录确实有特别的处理。当你使用 Vue CLI 创…

每日五道java面试题之spring篇(七)

目录&#xff1a; 第一题. 什么是Spring beans&#xff1f;第二题. 一个 Spring Bean 定义 包含什么&#xff1f;第三题. 如何给Spring 容器提供配置元数据&#xff1f;Spring有几种配置方式?第四题. Spring基于xml注入bean的几种方式?第五题&#xff1a;你怎样定义类的作用域…

【USENIX论文阅读】Day2

Birds of a Feather Flock Together: How Set Bias Helps to Deanonymize You via Revealed Intersection Sizes&#xff08;"物以类聚&#xff1a;集合偏差如何帮助去匿名化——通过揭示交集大小&#xff09; Xiaojie Guo, Ye Han, Zheli Liu, Ding Wang, Yan Jia, Jin L…

thinkphp6定时任务

这里主要是教没有用过定时任务没有头绪的朋友, 定时任务可以处理一些定时备份数据库等一系列操作, 具体根据自己的业务逻辑进行更改 直接上代码 首先, 是先在 tp 中的 command 方法中声明, 如果没有就自己新建一个, 代码如下 然后就是写你的业务逻辑 执行定时任务 方法写好了…

ConvNeXt V2:用MAE训练CNN

论文名称&#xff1a;ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders 发表时间&#xff1a;CVPR2023 code链接&#xff1a;代码 作者及组织: Sanghyun Woo&#xff0c;Shoubhik Debnath来自KAIST和Meta AI。 前言 ConvNextV2是借助MAE的思想来训练…

【PyTorch][chapter 18][李宏毅深度学习]【无监督学习][ VAE]

前言: VAE——Variational Auto-Encoder&#xff0c;变分自编码器&#xff0c;是由 Kingma 等人于 2014 年提出的基于变分贝叶斯&#xff08;Variational Bayes&#xff0c;VB&#xff09;推断的生成式网络结构。与传统的自编码器通过数值的方式描述潜在空间不同&#xff0c;它…

排序(9.17)

1.排序的概念及其运用 1.1排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记…

实战 vue3 使用百度编辑器ueditor

前言 在开发项目由于需求vue自带对编辑器不能满足使用&#xff0c;所以改为百度编辑器&#xff0c;但是在网上搜索发现都讲得非常乱&#xff0c;所以写一篇使用流程的文章 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、下载ueditor编辑器 一个“…