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://xiahunao.cn/news/2812225.html

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

相关文章

PyQt6的开发流程(密码生成小程序为例)

PyQt6的开发流程&#xff08;密码生成小程序为例&#xff09; 文章目录 PyQt6的开发流程&#xff08;密码生成小程序为例&#xff09;一、流程介绍与概览1. 界面与逻辑分离的开发流程2. PyQt6的开发流程 二、打开 designer.exe 创建文件三、用QT设计师绘制界面保存成ui1. QT常用…

Nginx之rewrite重写功能

一、rewrite概述 1、rewrite功能 访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能&#xff0c;它是以模块的形式存在于代码中的&#xff0c;其功能是对用户请求的 URI 进行 PCRE 正则重写&#xff0c;然后返回 30 重定向跳转或按条件执行相关配置。 Nginx服务…

大语言模型推理加速技术:模型压缩篇

原文&#xff1a;大语言模型推理加速技术&#xff1a;模型压缩篇 - 知乎 目录 简介 量化(Quantization) LLM.int8() GPTQ SmoothQuant AWQ 精简Attention 共享Attention参数 Multi-Query Attention Grouped-Query Attention 稀疏Attention Sliding Window Attenti…

Android自定义View实现数字密码锁

最近项目上用到一个密码加锁功能&#xff0c;需要一个数字密码界面&#xff0c;就想着封装成一个View来方便管理和使用。 废话不多说&#xff0c;先上最终效果图&#xff1a; 思路 整体可分为2个部分来实现&#xff0c;1.顶部是4个密码位的填充&#xff1b;2.数字键盘部分。整…

ssm747普通话培训信息管理系统设计与实现(源码+调试+LW)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于ssm普通话培训信息管…

服务质量目标:SLI,SLO,SLA

如果你要面试运维专家岗/运维架构师/运维经理/运维总监&#xff0c;面试中必然会问到的一个问题就是&#xff1a;“你能保障什么样的SLA&#xff1f;如何去实现你所保障的SLA&#xff1f;” SLA,SLO大家也许也都听说过&#xff0c;也知道几个9的含义&#xff0c;但是细致的去了…

数据结构知识点总结-线性表(3)-双向链表定义、循环单链表、、循环双向链表、静态链表、顺序表与链表的比较

双向链表定义 单链表结点中只有一个指向其后继的指针&#xff0c;这使得单链表只能从头结点依次顺序地向后遍历。若要访问某个结点的前驱结点&#xff08;插入、删除操作时&#xff09;&#xff0c;只能从头开始遍历&#xff0c;访问后继结点的时间复杂度为 O(1) &#xff0c; …

解决内嵌帆软报表出现重定向问题

最近收到反馈&#xff0c;某些程序的前端通过iframe标签内嵌finebi帆软报表时&#xff0c;出现一系列问题。 问题1: 如下图所示&#xff0c;单点登录(单点登录地址schema是https)后service地址的schema协议是http, 浏览器内核的安全策略不允许http访问https。 解决方案&#xf…

深入浅出JVM(十三)之垃圾回收算法细节

上篇文章深入浅出JVM&#xff08;十二&#xff09;之垃圾回收算法讨论了垃圾回收算法&#xff0c;为了能够更加充分的理解后续的垃圾收集器&#xff0c;本篇文章将深入浅出解析垃圾回收算法的相关细节&#xff0c;如&#xff1a;STW、枚举根节点如何避免长时间STW、安全点与安全…

计算机操作系统(慕课版)第五章学习笔记

第五章 存储器管理 1.1 存储器的层次结构 存储器的层次结构 速度由快到慢容量由小到大寄存器和主存掉电后存储的信息不再存在辅存的信息长期保存 1.2 物理地址&#xff08;绝对地址&#xff09; 物理内存的地址&#xff0c;内存以字节为单位编址 物理地址空间&#xff1a;所有…

元学习(meta-learning)的通俗解释

目录 1、什么是元学习 2、元学习还可以做什么 3、元学习是如何训练的 1、什么是元学习 meta-learning 的一个很经典的英文解释是 learn to learn&#xff0c;即学会学习。元学习是一个很宽泛的概念&#xff0c;可以有很多实现的方式&#xff0c;下面以目标检测的例子来解释…

ubuntu新建ap热点并分享

测试环境ubuntu16 1.方法1 直接手动新建ap热点 参考https://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html https://jingyan.baidu.com/article/363872ecd8f35d6e4ba16f97.html 亲测&#xff0c;发现电脑如果没有连有线&#xff0c;按照以上步骤并不能生成wifi热…

网络编程(JAVA)

前言&#xff1a;Java 是 Internet 上的语言&#xff0c;它从语言级上提供了对网络应用程序的支持&#xff0c;程序员能够很容易开发常见的网络应用程序。 Java 提供的网络类库&#xff0c;可以实现无痛的网络连接&#xff0c;联网的底层细节被隐藏在 Java 的本机安装系统里&a…

docker创建mongodb数据库容器

介绍 本文将通过docker创建一个mongodb数据库容器 1. 拉取mongo镜像 docker pull mongo:3.63.6版本是一个稳定的版本&#xff0c;可以选择安装此版本。 2. 创建并启动主数据库 容器数据卷配置 /docker/mongodb/master/data # 数据库数据目录&#xff08;宿主机&am…

kuka协作机器人LBR系列 issy15R930导入到ros2_rviz(带外观文件)

kuka协作机器人LBR系列 issy15R930导入到ros2_rviz(带外观文件&#xff09;外观文件未调整好&#xff0c;外观仍需进一步研究&#xff0c;外观文件dae与轮廓&#xff08;碰撞&#xff09;文件STL并未完全对应起来。在blender里面看了一下UR机器人的文件&#xff0c;是对应的&am…

产品经理学习-产品运营《什么是SOP》

目录 什么是SOP 如何执行SOP 执行SOP的重点 什么是SOP SOP就是项目流程操作的说明书 日常工作中的例行操作&#xff1a; 例行操作是指&#xff0c;在每一天&#xff0c;针对每一个用户&#xff0c;在每个项目之中&#xff0c;都必须完成的操作&#xff0c;这些必须完成的操…

数据可视化引领智慧工业新时代

在智慧工业的大潮中&#xff0c;数据可视化崭露头角&#xff0c;以其直观、清晰的方式赋能工业生产&#xff0c;为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度&#xff0c;简单聊聊这个话题。 数据可视化首先在智慧工业的生产监控中大显身手。通过将…

电脑休眠之后唤不醒

现象&#xff1a;午休时间电脑休眠了&#xff0c;醒来之后发现在密码输入界面&#xff0c;但鼠标键盘没反应。按重启键或电源机重新开机&#xff0c;结果开不了机。 原因&#xff1a;1、内存条脏了&#xff0c;导致内存条读取失败 2、休眠的时候硬盘休眠了&#xff0c;导致按…

[设计模式Java实现附plantuml源码~行为型]算法的封装与切换——策略模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

【精选】Java面向对象进阶——静态内部类和局部内部类

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …