服务(第二十篇)mysql高级查询语句(一)

news2024/11/22 21:26:33

准备环境:

两张表:location和store_info;

1、查询语句类型

①SELECT "字段" FROM "表名";

只查看表中的指定字段;

还可以根据查询的字段位置进行排序;

②SELECT DISTINCT "字段" FROM "表名";  

去重,只对单个字段有效

③SELECT "字段" FROM "表名" WHERE "条件";

这里针对条件查找时,可以使用:= != < <= > >=等符号去使用;

④ SELECT "字段" FROM "表名" WHERE "条件1" {[AND|OR] "条件2"}+ ;

 ⑤SELECT "字段" FROM "表名" WHERE "字段" IN ('值1', '值2', ...);

这里注意数字类型不可以,数字类型直接用and 和or就可以;

 ⑥SELECT "字段" FROM "表名" WHERE "字段" BETWEEN '值1' AND '值2';(数值左小右大)

 ⑦SELECT "字段" FROM "表名" WHERE "字段" LIKE {模式};

% :百分号表示零个、一个或多个字符

_ :下划线表示单个字符

 ⑧SELECT "字段" FROM "表名" [WHERE "条件"] ORDER BY "字段" [ASC, DESC];

2、函数

①数学函数:

数学函数含义
abs(x)返回 x 的绝对值
rand()返回 0 到 1 的随机数
mod(x,y)返回 x 除以 y 以后的余数
power(x,y)返回 x 的 y 次方
round(x)返回离 x 最近的整数
round(x,y)保留 x 的 y 位小数四舍五入后的值
sqrt(x)返回 x 的平方根
truncate(x,y)返回数字 x 截断为 y 位小数的值
ceil(x)返回大于或等于 x 的最小整数
floor(x)返回小于或等于 x 的最大整数
greatest(x1,x2…)返回集合中最大的值,也可以返回多个字段的最大的值
least(x1,x2…)返回集合中最小的值,也可以返回多个字段的最小的值

 ②聚合函数:

聚合函数含义
avg()返回指定列的平均值 
count() 返回指定列中非 NULL 值的个数 
min() 返回指定列的最小值 
max() 返回指定列的最大值 
sum(x) 返回指定列的所有值之和 

统计次数要注意统计字段时候不统计空行;

如果统计的是* ,就会统计空行。

 

③字符串函数:

字符串函数含义
trim()返回去除指定格式的值
concat(x,y)将提供的参数 x 和 y 拼接成一个字符串
substr(x,y)获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同
substr(x,y,z)获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串
length(x)返回字符串 x 的长度
replace(x,y,z)将字符串 z 替代字符串 x 中的字符串 y
upper(x)将字符串 x 的所有字母变成大写字母
lower(x)将字符串 x 的所有字母变成小写字母
left(x,y)返回字符串 x 的前 y 个字符
right(x,y)返回字符串 x 的后 y 个字符
repeat(x,y)将字符串 x 重复 y 次
space(x)返回 x 个空格
strcmp(x,y)比较 x 和 y,返回的值可以为-1,0,1
reverse(x)将字符串 x 反转

 拼接:中间可以用空格拼接!!还可以排序

select concat(字段1,' ',字段2) from 表名;

3、mysql进阶查询

 ①group by

要求:

对GROUP BY后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的;

GROUP BY 有一个原则,凡是在 GROUP BY 后面出现的字段,必须在 SELECT 后面出现;

凡是在 SELECT 后面出现的、且未在聚合函数中出现的字段,必须出现在 GROUP BY 后面。

SELECT "字段1", SUM("字段2") FROM "表名" GROUP BY "字段1";

这里需要注意,group by去重才有意义,不然没有意义,他和distinct的区别是distinct只可以对一个字段去重,group by可以在多个字段的时候用聚合函数去使用。

 ②having

having 语句的存在弥补了 where 关键字不能与聚合函数联合使用的不足。

根据group by分组后的结果,再次进行过滤!!!

SELECT "字段1", SUM("字段2") FROM "表格名" GROUP BY "字段1" HAVING (函数条件);

 ③ 别名

SELECT "表格別名"."字段1" [AS] "字段別名" FROM "表格名" [AS] "表格別名";

 ④子查询:

SELECT "字段1" FROM "表格1" WHERE "字段2" [比较运算符]             #外查询
(SELECT "字段1" FROM "表格2" WHERE "条件");                                 #内查询
可以是符号的运算符,例如 =、>、<、>=、<= ;也可以是文字的运算符,例如 LIKE、IN、BETWEEN

 多表连接:

select * from 表1 A, 表2 B where A.字段1=B.字段1;

 ⑤连接查询:

1、inner join(内连接):只返回两个表中联结字段相等的行

2、left join(左连接):返回包括左表中的所有记录和石表中联结字段相等的记录

3、right join(右连接):返回包括右表中的所有记录和左表中联结字段相等的记录

inner join(内连接):

select * from 表1 A inner join 表2 B on A.字段1=B.字段1;

方法2:

select * from 表1 A inner join 表2 B using(字段1);

 left join(左连接):

select * from 表1 A left join 表2 B on A.字段1=B.字段1;

right join(右连接):

select * from 表1 A right join 表2 B on A.字段1=B.字段1;

⑥联集union:

将两个SQL语句的结果合并起来,两个SQL语句的字段需要一样的

 两者的区别是union直接去重了,union all是显示所有!!

 这里我在总结下哪些是去重的,有什么区别?

①distinct 仅对一个字段做去重,多个字段不起作用;

②group by 成组自动去重成组字段中的相同名字;

③union 联集自动去重。

派生表(统计两表无任何关系的数据):

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

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

相关文章

C语言生成随机数【简易抽卡代码为例】

文章目录 前言一、生成随机数rand() 函数srand()函数time()函数生成一个真正的随机数 二、使用小技巧三、使用代码实例&#xff08;简易抽卡&#xff09;总结 前言 本文将详细解释如何在C语言中生成随机数&#xff0c;并介绍应用的小技巧 一、生成随机数 c语言生成一个真正的…

ESP32 partition(分区表)(15)

提示&#xff1a;本博客作为学习笔记&#xff0c;有错误的地方希望指正&#xff0c;主要参考乐鑫技术手册说明结合实例代码分析&#xff0c;结合理论知识学习后示例分析以及常见问题说明。 文章目录 一、ESP32 Partition概述二、内置分区表三、创建自定义分区表四、生成二进制分…

设备树(属性)简介

1 设备树 简单的整理记录&#xff1b; 学习参考内容&#xff1a; Linux 笔记 https://xuesong.blog.csdn.net/article/details/109522945?spm1001.2014.3001.5502正点原子-左盟主 驱动开发网络资料&#xff1a;IT界小生 https://www.zhihu.com/column/itlife 1.1 设备树简介…

springboot+freemarker+restful

什么是freemarker? FreeMarker是一种模板引擎&#xff0c;它可以用于生成各种类型的文档&#xff0c;比如HTML、XML、PDF、Word等。它可以通过简单的模板语法和数据模型来生成文档内容。与传统的JSP相比&#xff0c;FreeMarker的语法更加简洁和易读&#xff0c;并且可以很好地…

女生学习软件测试怎么样?

在IT技术行业&#xff0c;女生学习还是有很大优势的。女生相较于男生更有耐心&#xff0c;包容性强&#xff0c;心思细腻&#xff0c;对细节把控更好&#xff0c;同时还能帮助团队男女平衡&#xff0c;活跃气氛。 编程是一个只要你肯学习就会有回报的行业&#xff0c;不论男生…

1W字理解Java虚拟机——JVM

目录 一、初识JVM 二、JVM执行流程 三、内存区域划分&#xff08;JVM运行时数据区&#xff09; 3.1 本地方法栈&#xff08;线程私有&#xff09; 3.2 程序计数器&#xff08;线程私有&#xff0c;无并发问题&#xff09; 3.3 JVM虚拟机栈&#xff08;线程私有&#xff0…

【小程序】微信云托管对象存储管理

微信云托管对象存储用于存放数据或文件&#xff0c;一般用于较大数据或较大文件上传时的中转对象&#xff0c;避免直接上传到服务端&#xff0c;影响服务性能。 对象存储 开通了云托管平台后会自动开通对象存储功能。简单理解就是一个文件目录即可。 存储文件 文件名称&…

串口全双工通信与串口中断

1.串口通信编程 STC-ISP串口助手的使用&#xff1a; 文本模式和HEX模式的区别&#xff1a;文本模式就是那些可打印的字符。HEX模式就是这些可打印字符对应的16进制。它们都对应相同的ASCII码&#xff08;用十进制表示&#xff09;。 很多小白在程序编写完成后调试时会搞不清楚…

利用notepad++处理数据,再用excel做则线图

1、利用串口调试XCOM V2.8得到数据 2、利用Notepad编辑数据 利用正则表达式 删除时间戳 移除空行 继续删掉不要的数据 3、用excel生成折线图 复制数据到excel excel自动根据上文公式填充计算 输入0.1和0.2 框选0.1和0.2&#xff0c;下拉

JavaScript-jQuery的使用 + JS的案例

目录 点击更换图片 猜数字 搜索页面展示 表白墙 点击更换图片 我们先看下面这个例子: 使用input里面的button按钮, 并且利用函数, 将一个搜狗logo转换为百度logo: <!DOCTYPE html> <html lang"en"> <head><meta charset&…

Maven下载安装及IDEA配置Maven的超详细教程

Maven下载安装及IDEA配置Maven的超详细教程 1、IntelliJ IDEA 下载、安装及配置过程2、maven下载、安装、配置过程2.1 mavan下载2.2 安装2.3 配置 3、在IDEA中配置Maven3.1 进入设置界面3.2 maven配置 4、IDEAmaven创建工程示例 Maven是一个能使我们的java程序开发节省时间和精…

ssl证书过期

SSL证书验证网站所有者的身份&#xff0c;并为其访问者建立与服务器的安全加密连接。它保护他们的安全和隐私。 但SSL证书并非永远有效。与您的驾驶执照或护照一样&#xff0c;SSL证书也有过期日期。过期日期后&#xff0c;服务器的身份不再受信任。 为什么网站安全证书会过期…

C++ 类与对象中类的深入知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏

绪论 本章我们接着对类和对象进行探索&#xff0c;这是一个在我们c中比较重要的知识点&#xff0c;下面我们才是我们类和对象的更加深入且困难的知识点&#xff0c;希望你能通过这篇文章对类其有更加深入的了解。 话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑观看…

使用Taskflow完成简历信息提取

构建模型的步骤&#xff1a; 首先要进行数据处理&#xff0c;抽取简历文件中的数据。 首先要准备数据集&#xff0c;大赛提供的数据集中多为word文档&#xff0c;都为.docx格式&#xff0c; docx文件是基于 XML 的&#xff0c;可以包含文本&#xff0c;对象&#xff0c;样式&…

想让你的应用程序更加可靠?来了解Spring事务的回滚机制吧!

嗨&#xff0c;大家好&#xff0c;我是小米&#xff0c;今天要和大家聊一聊关于Spring框架事务的回滚源码实现。 相信对于使用Spring框架的小伙伴来说&#xff0c;事务管理肯定是非常重要的一个环节&#xff0c;事务的管理不好很容易出现各种问题&#xff0c;如数据不一致等。…

二十五:修改交易

1.功能需求 点击交易的复选框&#xff0c;然后点击修改按钮。进行数据的页面填充 1.流程图 1.代码实现 TranMapper /*** 根据id查询交易*/Tran selectTranDetailFortranId(String tranId); <!-- Tran selectTranDetailFortranId(String tranId);--><select id"…

项目集战略一致性

项目集战略一致性是识别项目集输出和成果&#xff0c;以便与组织的目标和目的保持一致的绩效领域。 本章内容包括&#xff1a; 1 项目集商业论证 2 项目集章程 3 项目集路线图 4 环境评估 5 项目集风险管理战略 项目集应与组织战略保持一致&#xff0c;并促进组织效益的实现。为…

【博客系统】页面设计(附完整源码)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、页面介绍 二、预期效果 1、博客列表页效…

刚面试了一位5年的Android开发,一问三不知,他还反怼我...

最近帮部门主管面试了很多人&#xff0c;从简历上看这些人的工作年限都不短&#xff0c;但做的都是一些传统的项目&#xff0c;想做现在大环境越来越难&#xff0c;大家找工作都不容易&#xff0c;就打算见一见。 在沟通中发现&#xff0c;由于年限不小&#xff0c;他们的定位…

十、Feign客户端

目录 1、在springcloud-order项目中引入Feign客户端的依赖 2、在server-order服务的启动类中添加注解EnableFeignClients 3、使用FeignClient注解声明Feign客户端需要调用的远程接口 3.1、server-pay服务提供远程接口Controller 3.2、server-member服务提供远程接口Contro…