MySQL高级(进阶)SQL语句

news2024/12/24 22:09:12

#显示一个字段或者多个字段的所有内容

SELECT “字段” FROM 表名 ;

#distinct对字段去重查询 (最好只对单个字段进行去重)

SELECT DISTINCT 字段名 FROM 表名

#where 有条件查询

SELECT “字段” FROM 表名 WHERE 条件(例如:sales <=>!= 100);

#and or 查看多个条件

SELECT “字段” FROM 表名 WHERE 条件(例如:sales <=>!= 100)or/and sales <=>500 ;

SELECT “字段” FROM 表名 WHERE 条件(例如:sales <=>!= 100)or (sales >200 and sales <500 ); #查找销售额大于1000或者大于200小于500的

#in 显示已知的值的数据记录

SELECT “字段” FROM “表名” WHERE ‘字段名’ in ('xxx',''yyy');

SELECT “字段” FROM “表名” WHERE ‘字段名’not in ('xxx',''yyy');

#between 显示两个值范围内的数据

SELECT 字段 FROM 表名 WHERE 字段 BETWEEN xxx and yyy ; #包含xxx和yyy的值,也可以是时间 (SELECT 字段 FROM 表名 WHERE DATE BETWEEN '2020-12-05' and '2020-12-08')

---------通配符-------通常与LIKE一起使用

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

_: 下划线表示单个字符

'A-Z':所有以‘A’起头,另一个任何值的字符,且以‘Z’为结尾的字符串。例如‘ABZ’和‘A2Z’

‘ABC%’:所有以ABC开头的字符串

‘%XYZ’:所有以XYZ结尾的字符串

‘%ABC%’:所有含有ABC字符的的字符串

‘_AN%’:所有第二个字母为A,第三个字母为N的字符串,例如‘SAN FRANCISCO’

SELECT STORE_NAME,DATE,SALES FROM STORE_INFO WHERE STORE_NAME LIKE 'LO%';

----------ORDER BY -----------按关键排序

SELECT “字段” FROM “表名” [WHERE '条件'] ORDER BY ‘字段’[ASC,DESC]

#ASC 是按照升序进行排序的,默认排序方式就是升序

#DESC 是按照降序进行排序的

--------------------函数-------------------------

数学函数:

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,x3...):返回集合中最大的值,也可以返回多个字段的最大的值

♢least(x1,x2,x3...):返回集合中最小的值,也可以返回多个字段的最小的值

聚合函数:

♢avg():返回指定列的平均值

♢count():返回指定列中非NULL值的个数

♢min():返回指定列的最小值

♢max():返回指定列的最大值

♢sum(x):返回指定列的所有值纸盒

♢count(*):所有字段行数,不忽略NULL行

字符串函数:

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的所有字母变成大写字母

left(x,y):返回字符串x前y个字符

right(x,y):返回字符串x后y个字符

repeat(x,y):将字符串x重复y次

space(x):返回x个空格

srcmp(x,y):比较x和y,返回的值可以为-1,0,1

reverse(x):将字符串x反转

字符串分片 select substr('123456789',4,3); 为456,第四个开始后面三个

select trim (leading ' xx ' from 'xx yy'); 从xx yy中移除xx

select trim (trailing' yy ' from 'xx yy'); 从xx yy中移除yy

--------------GROUP BY ---------------------

group by 有一个原则,凡是在group by后面出现的字段,必须在select后面出现;

凡是在select后面出现的,且未在聚合函数中出现的字段,必须出现在group by后面

SELECT STORE_NAME,SUM(SALES) FROM STORE_INFO GROUP BY STORE_NAME ORDER BY SALES DESC;

#分组也有去重功能

#group by分组之后,不再能使用where语句进行过滤

----------------HAVING------------------------

通常和group by一起使用,对group by语句之后再进行过滤

select store_name,sum(sales) from store_info where sales < 2000 group by store_name having sum(sales) > 1000;

顺序:先sales小于2000,然后进行分组,然后对sales进行求和,最后having对求和大于1000进行过滤

SQL语句执行顺序:

--------------别名---------------------

select region,replace(region,'st','stion') as new_region,store_name from location as A;

原字段 as 别名 , 可以空格代替as

-----------子查询-------------------

连接表格,在where子句或having子句中插入另一个SQL语句

select “字段1”FROM “表格1” WHERE “字段2” [比较运算符]like in between #外查询

(select "字段1" FROM“表格2” WHERE “条件”);

#内查询

select sum(sales) from store_info where store_name in (select store_name from location where region='west'); #求西部城市的销售总额

where exists 测试内查询是否有结果,有结果的话,就会执行外查询,并且返回外查询执行结果

----------------连接查询----------------------

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

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

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

select * from location A inner join store_info B on A.store_name=B.store_name;

-----------------UNION---------------联集---

将两个SQL语句合并起来,两个SQL语句所产生的字段需要是同样的数据记录种类

UNION:生成结果的数据记录值将没有重复,自动排序

UNION ALL:将生成结果的记录值全合并,不管是否有重复,也不排序

派生表别名:

select A.store_name ,count(A.store_name) from (select distinct store_name from location union all select distinct store_name from store_info) as A group by A.store_name having count(A.store_name) =1; #求无交集

今日总结:

select 字段 ... from 表 where 字段1=/!=/</>/<=/>= [and/or]多条件判断

in/not in (值1,值2,... )/between 值1 and 值2

like '%xxx_'通配符

select 字段....from 表 order by 字段 ASC/DESC

数学函数 round(x,y) truncate(x,y) greatest/least(值1,值2,.... )

聚合函数 sum() avg() max() min() count()

字符串函数 concat()字段拼接 || 开启mode

substr()字符串分片 replace() length()

select 字段,聚合函数(字段) from 表 where xxxx group by 字段 having 条件

别名:select 字段 as别名 from 表 as 别名

select 字段....from 表 where 字段 运算符 (select 字段....from 表 where 字段);

表连接:inner join 、left join 、right join

交集: select 字段 from 左表 A inner join 右表 B on A.字段=B.字段;

using(字段)

select 字段 from 左表 A,右表 B where A.字段=B.字段

select 字段 from左表 where 字段 in (select 字段 fron 右表);

select A.字段 from 左表 left join on A.字段=B.字段 where B.字段 is not null

select A.字段 from (select distinct 字段 from 左表 union all select distinct 字段 from 右表)as A group by A.字段 having count (A.字段)=1;

无交集:select A.字段 from 左表 left join on A.字段 =B.字段 where B.字段 is null

select A.字段 from (select distinct 字段 from 左表 union all select distinct 字段 from 右表) as A group by A.字段 having count (A.字段) =1;

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

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

相关文章

安卓开发:使用可为null性

Kotlin园地 地址&#xff1a;Kotlin 园地 | Android 开发者 | Android Developershttps://developer.android.google.cn/training/kotlinplayground?hlzh-cn 以下简称 “K园” 先在K园执行以下代码&#xff1a; fun main() {var fa: String "sandra on";prin…

服务攻防-协议漏洞-FTPRDPSSHRsyncProFTPDlibsshOpenssh-Hydra工具使用口令猜解未授权访问

目录 一、导图 二、口令猜解-Hydra-FTP&RDP&SSH 1、协议介绍 2、Hydra工具介绍 3、实例演示 三、配置不当-未授权访问-Rsync 文件备份 1、Rsync介绍 2、漏洞成因——配置不当 3、实例演示 四、协议漏洞-应用软件-FTP&ProFTPD搭建 1、引入 2、ProFTPD介…

IDEA 搭建 Maven模块化项目

目录 1.前言 2. 软硬件环境 3.项目搭建 3.1.创建 SpringBoot 父项目 3.2. 构建子项目centerdao 3.3. 构建子项目centerweb 4. 建立父子 Module 依赖 4.1 删除不必要文件 4.2.修改 Parent 项目 packaging 4.3.修改子项目pom.xml 信息 4.4. 补充说明 5. 项目继承关系…

ios15及以上webview、Safari使用Websocket断连,1006无清晰错误码

文章目录 问题表现&#xff1a;定位疑似原因&#xff1a;解决方式&#xff1a;定位问题思路过程记录&#xff1a;1、对比前端代码运行环境问题2、写纯请求前端代码连接&#xff0c;确认是否接口部署服务问题&#xff1b;3、IOS连接是否有对TSL安全协议版本有要求&#xff08;使…

【Java入门合集】第六章异常处理

博主&#xff1a;命运之光 专栏&#xff1a;JAVA入门 学习目标 掌握异常的概念&#xff0c;Java中的常见异常类&#xff1b; 掌握Java中如何捕获和处理异常&#xff1b; 掌握自定义异常类及其使用&#xff1b; 目录 异常概述 异常体系 常见的异常 Java的异常处理机制 方式…

The Certificate Of Harbor On Rancher(2.5.16)

序言 针对Rancher2.5.16版本的情况. 问题是: 当我们创建RancherServcie后,RancherService会在容器内通构建k3s环境,然后k3s去我们的私有Harbor拉取镜像. 问题就在我们虽然在虚拟机上给docker设置了可以不通过Https的方式拉取Hrabor的镜像,但是RancherService中的k3s也会去拉…

Android---bitmap优化

目录 Bitmap 占用内存大小计算 Bitmap | Drawable | InputStream | Byte[] 之间进行转换 Bitmap 相关方法 BitmapFactory 工厂类 Bitmap 占用内存大小计算 Bitmap 作为位图&#xff0c;需要读入一张图片中每一个像素点的数据&#xff0c;其主要占用内存的地方也正是这些像…

【axios 使用】下载文件流 以及 获取响应头header content-disposition

获取数据都知道&#xff0c;使用的是 axios,主要是设置 responseType: blob 由于项目使用的是 apipost &#xff0c;所以在使用的时候还要设置 isReturnNativeResponse -是否返回本机响应标头&#xff0c;一般可能设置 responseType: blob 就可以了 export function getDow…

本地使用IIS快速搭建一个属于自己的网站,并发布公网访问「无需购买云服务器」

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xf…

java+iClientOpenlayers实现城市内涝积涝模拟内涝模拟演进

程序实现效果图 洪水演进过程 一、应用背景 城市内涝和积涝是一个严重的问题&#xff0c;特别是在气候变化的背景下。为了更好地了解这个问题&#xff0c;模拟城市内涝和积涝是非常重要的。这个过程可以帮助我们预测哪些区域可能会受到影响&#xff0c;以及在发生内涝和积涝时…

人人都应该知道的CPU缓存运行效率

提到CPU性能&#xff0c;大部分同学想到的都是CPU利用率&#xff0c;这个指标确实应该首先被关注。但是除了利用率之外&#xff0c;还有很容易被人忽视的指标&#xff0c;就是指令的运行效率。如果运行效率不高&#xff0c;那CPU利用率再忙也都是瞎忙&#xff0c;产出并不高。 …

“LSTM之父”谈AI威胁论:AI将超越人类智力,对人类不感兴趣,呼吁暂停AI是一种误导

他因在人工智能&#xff08;AI&#xff09;、深度学习和人工神经网络领域内做出的成就而知名&#xff0c;一度被称为“&#xff08;现代&#xff09;AI 之父”或“深度学习之父”。 他提出的长短期记忆网络&#xff08;LSTM&#xff09;被谷歌、苹果、亚马逊、Meta 等科技巨头…

Ims跟2/3G会议电话(Conference call)流程差异介绍

2/3G Conference call 合并(Merged)通话前,两路电话只能一路保持(Hold),一路通话(Active)。 主叫Merged操作,Hold的一路会变成Active,进入会议通话。 例如终端A跟C通话,再跟B通话,此时B就是Active状态,C从Active变成Hold状态。Merged进入会议通话后,C又从Hold变…

亚马逊关于婴儿摇篮的政策需要做的认证标准

本政策适用的婴儿摇篮 婴儿摇篮 婴儿摇篮是一种旨在为婴儿提供睡眠环境的小床。婴儿摇篮由独立支腿、固定框架或支腿、轮式底座、摇摆底座或可以相对于固定底座摇摆的底座支撑。在静止&#xff08;不摇摆或不摆动&#xff09;时&#xff0c;婴儿摇篮的睡眠表面与水平面的夹角…

ASEMI代理ADI亚德诺LT6230CS6-10#TRPBF车规级芯片

编辑-Z LT6230CS6-10#TRPBF特点&#xff1a; 低噪声电压&#xff1a;1.1nV/ √Hz 低电源电流&#xff1a;3.5mA/Amp&#xff08;最大值&#xff09; 低失调电压&#xff1a;350μV&#xff08;最大值&#xff09; 增益带宽积&#xff1a; LT6230&#xff1a;215MHz&#…

设计模式之【桥接模式】,多用组合少用继承

文章目录 一、什么是桥接模式1、使用场景2、代理、桥接、装饰器、适配器 4 种设计模式的区别3、桥接模式的优缺点4、桥接模式的四种角色 二、实例桥接模式优化代码 三、源码中使用的桥接模式1、桥接模式在JDBC中的应用 一、什么是桥接模式 桥接模式&#xff08;Bridge Pattern…

【Java 并发编程】Java 线程本地变量 ThreadLocal 详解

Java 线程本地变量 ThreadLocal 详解 1. ThreadLocal 简介2. ThreadLocal 的使用2.1 ThreadLocal 接口&#xff08;1&#xff09;initialValue()&#xff08;2&#xff09;get()&#xff08;3&#xff09;set(T value)&#xff08;4&#xff09;remove() 2.2 ThreadLocal 应用 …

springboot链接redis (Windows版本)

1。 下载链接 https://redis.io/download/ 2.下载完成之后傻瓜安装 3. 打开下载安装路径 3.输入cmd回车 4.依次执行以下命令 redis-server.exe redis-server.exe redis.windows.conf redis-cli shutdown exit redis-server.exe redis.windows.conf 可成功启动redis 5…

(五)Kubernetes - 手动部署(二进制方式安装)

Kubernetes - 手动部署 [ 4 ] 1 增加Master节点(高可用架构)1.1 部署Master2 Node1.1.1 安装Docker(Master1)1.1.2 启动Docker、设置开机自启(Master2)1.1.3 创建etcd证书目录(Master2)1.1.4 拷贝文件(Master1)1.1.5 删除证书(Master2)1.1.6 修改配置文件和主机名(Master2)1.1.…

在线一键解jsjiami.v6

在当今的互联网时代&#xff0c;JavaScript是web开发的核心技术之一。但是&#xff0c;为了保护JavaScript代码的安全性&#xff0c;很多开发者会使用JS加密技术。其中一个常用的JS加密工具是jsjiami.v6。 JS加密通过对JavaScript代码进行混淆、压缩、编码等多种操作&#xff…