MySQL的高阶语句

news2024/12/23 15:40:45

数据库的权限一般很小,工作中使用最多的场景就是查

排序、分组、子查询、视图、多表连接查询(左连接、右连接、内连接)

create TABLE info (

id int(4) primary key,

NAME varchar(5) not null,

score decimal(5,2),

address varchar(20),

sex char(3) not null

);

select * from info;

①使用select语句,使用order by进行排序

ASC:升序排列

desc  倒序排列,降序排列。需要添加

select id,name from info order by id;  升序

select id,name from info order by id DESC;  降序

select id,name,score from info order by score DESC;  降序,by后面跟上要排序的列

排序尽可能用数字

order by 结合where条件过滤

查姓名 成绩,根据地址=东京西路。按照分数进行降序排列

select name,score from info where address='东京西路' order by score desc;

查id 姓名 成绩,根据性别=女。按照id进行降序排列

select id,name,score from info where sex='女' order by id desc;

select id,name,score from info where sex='女' ORDER BY Score desc,id desc;

只有第一个参数出现相同值时,第二个参数才会按照要求排序

区间判断查询和去重查询

AND或者or进行条件判断

and 两边都要为真,or两边一个为真即可

大于70或者小于等于90

select * from info where score > 70 and score <= 90;

成绩大于80或者小于90

select * from info where score > 80 or score < 90;

嵌套条件

select * from info where score > 70 and ( score > 75 and score <90);

select * from info where score > 70 or ( score > 75 and score <90);

分组

用嵌套条件,满足性别是男,然后筛选成绩80--90之间

select * from info where sex='男' and (score > 80  and score <90);

去重查询(面试会问)

select DISTINCT sex from info;

select DISTINCT address from info;

根据addres去重,然后过滤出成绩=90且,性别是男

select DISTINCT address from info where sex='男' and (score =90);

根据addres、name、score去重,然后过滤出成绩=90且,性别是男

select DISTINCT address,name,score from info where sex='男' and (score =90);

对结果进行分组查询group by语句

一般结合聚合函数一起使用

count() 统计有几行

sum()  列的值相加求和

avg()  列的值求平均数

max()  过滤出列的最大值

min()  过滤出列的最小值

分组的时候可以按照一个字段,也可以按照多个字段对结果进行分组处理

select count(name),sex from info group by sex;

根据where条件筛选,score >=80

select count(name),sex,score from info where score >=80 group by sex;

求成绩的和

求和: 以地址为分组,对score求和。

select sum(score),address from info group by address;

算出男生女生的平均成绩

select avg(score),sex from info group by sex;

分别算出男生组和女生组的成绩最低的姓名

select min(score),sex,NAME from info group by sex;

group by实现条件过滤,后面跟上having语句实现条件过滤。

select avg(score),address from info group by address HAVING avg(score) > 60;

按照地址分组,求成绩的平均值,然后>50,按照id的降序排列

select avg(score),address,id from info group by address HAVING avg(score) > 50 order by id desc;

统计name的行数,计算出学生的个数,把成绩也查出来,然后按照统计出来的学生个数,升序排列。按照地址分组。学生的成绩>=70

select count(name),address,score,name from info group by address HAVING score >=70 order by count(name);

按照性别分组,求出男生和女生的最大成绩,最大成绩是否超过75分。满足条件的过滤出来。

select max(score),sex from info group by sex HAVING max(score) >=75;

使用聚合函数必须使用group by

分组的条件要选用有多个重复值的列

过滤条件要用having语句过滤

limit限制输出的结果记录。查看表中的指定行

只看前三行

select * from info limit 3;

查看2-5行

select * from info limit 1,4;

倒叙查看最后三行

select * from info order by id desc limit 3;

通配符:主要用于替换字符串中的部分字符,通过部分字符的匹配,将相关的结果查询出来

通配符和like一起使用,要使用where语句一起完成查询

通配符:

%  表示0个、1个或者多个

_   表示单个字符

以四为开头

select * from info where address like '四%';

西为结尾

select * from info where address like '%西';

包含川

select * from info where address like '%川%';

select * from info where name like '小_';

select * from info where name like '小_小';

select * from info where name like '__大';

以四为开头,匹配后面两个字符

select * from info where address like '四%__';

通配符可以一起使用

设置别名alias

简写AS

在MySQL查询时,表的名字或者字段名太长,可以用别名来进行替代,方便书写。可以增强可读性

select name 姓名,score 成绩 from info;

select name as 姓名,score as 成绩 from info as fmh where name='杨dd' and id = fmh.id;

as语句创表

CREATE table test as select * from info;

select * from test;

desc test;

desc info;

使用as复制表,约束不会被复制过来(as复制的没有主键)

可以给表起别名,但是要注意别名不能和数据库中其他的表名冲突

列的别名在结果中可以显示,但是表的别名在结果中没有显示,只能用于查询。

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

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

相关文章

Django实战项目-学习任务系统-发送短信通知

接着上期代码内容&#xff0c;继续完善优化系统功能。 本次增加发送短信通知功能&#xff0c;学习任务系统发布的任务&#xff0c;为了更加及时通知到学生用户&#xff0c;再原有发送邮件通知基础上&#xff0c;再加上手机短信通知功能。 第一步&#xff1a;开通短信通知服务…

JSP通用材料收集归档系统eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 通用材料收集归档系统是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c…

计算机服务器中了eking勒索病毒怎么办,勒索病毒解密,文件数据恢复

随着科技的不断发展&#xff0c;网络技术也得到了不断更新&#xff0c;极大地方便了人们的生产与生活&#xff0c;但随之而来的网络安全威胁也不断增加&#xff0c;近期&#xff0c;网络上的eking勒索病毒开始流行&#xff0c;它是phobos勒索家族中的一种病毒&#xff0c;具有较…

红黑树的性质和实现

红黑树 由于AVL树为了保持平衡需要经常旋转&#xff0c;开销是很大的。因此&#xff0c;红黑树比起AVL树放宽了平衡的限制。 概念 红黑树&#xff0c;在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是RED或BLACK。 通过对任何一条从根到叶子的路径上各个结点着…

EGpKa

利用数据增强的可解释图神经网络预测碳氢化合物的 pKa&#xff0c;原文 Explainable Graph Neural Networks with Data Augmentation for Predicting pKa of C–H Acids&#xff0c;代码在 DATA AND SOFTWARE AVAILABILITY。模型框架如下&#xff1a;

如何使用Linux DataEase数据可视化分析工具结合内网穿透实现远程办公

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务…

git从入门到会用

git从入门到大牛 什么是git理解版本控制版本控制软件 远程仓库git安装windows 安装git 客户端安装下载客户端安装界面介绍 客户端操作仓库管理创建本地仓库切换本地仓库删除本地仓库 文件操作创建文件修改文件删除文件新增/修改/删除 标志 分支管理创建分支切换分支合并分支 标…

【嵌入式 C 常用算法 3 -- 非线性存储结构 二叉树】

文章目录 树概念介绍树相关术语结点子树结点的度结点的层次有序树和无序树森林空树&#xff08;简单了解即可&#xff09; 二叉树二叉树性质满二叉树完全二叉树 二叉树的深度遍历前序遍历中序遍历后续遍历 二叉树的层次遍历二叉树的顺序存储结构二叉树的顺序存储结构C代码实现 …

如何解决DC电源模块的电源噪声问题

BOSHIDA 如何解决DC电源模块的电源噪声问题 在电子设备的设计和制作过程中&#xff0c;电源噪声是一个非常重要的考虑因素。DC电源模块的电源噪声问题是电子设备中普遍存在的问题之一。它不仅会影响设备的性能&#xff0c;还会对设备的寿命和稳定性产生负面影响。因此&#xf…

第二证券:消费电子概念活跃,博硕科技“20cm”涨停,天龙股份斩获10连板

消费电子概念7日盘中再度拉升&#xff0c;到发稿&#xff0c;博硕科技“20cm”涨停&#xff0c;光大同创、波长光电涨超10%&#xff0c;易德龙、向阳科技、得润电子、天龙股份、同兴达等涨停。 博硕科技强势涨停&#xff0c;公司昨日在接受安排调研时表明&#xff0c;公司从上…

第二证券:炒股常识技巧大全?

炒股对许多出资者来说既是一种出资方式&#xff0c;也是一种兴趣。可是&#xff0c;关于初学者来说&#xff0c;炒股可能是一个充溢风险的国际。所以&#xff0c;了解一些炒股的常识技巧关于出资者的长时间成功至关重要。本文将从多个角度分析炒股的常识技巧。 首要&#xff0…

广域网加速的作用:企业为什么需要广域网加速?

由于局域网与广域网之间巨大的带宽鸿沟&#xff0c;通过增加带宽来满足膨胀的流量需求是不切实际的。 并且广域网带宽成本较高&#xff0c;增加广域网带宽对任何企业都意味着巨大的成本负担。这些使得控制 管理广域网带宽使用成为必需。 企业为什么要加速广域网? 对重要的企…

bilibili快速升满级(使用Docker 容器脚本)

部署bilibili升级运行容器脚本 docker run --name"bili" -v /bili/Logs:/app/Logs -e Ray_DailyTaskConfig__Cron"30 9 * * *" -e Ray_LiveLotteryTaskConfig__Cron"40 9 * * *" -e Ray_UnfollowBatchedTaskConfig__Cron"…

『MySQL快速上手』-②-数据库基础

文章目录 1.什么是数据库2.MySQL的基本使用2.1 MySQL的安装2.2 连接MySQL服务器2.3 服务器、数据库与表的关系2.4 使用案例 3.SQL语句分类4.存储引擎4.1 什么是存储引擎4.2 查看存储引擎 1.什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库&#xff1f;文…

批量剪辑神器,专业又好用,支持一站式AI脚本创作、批量剪辑、矩阵分发……

越来越多短视频领域的小伙伴都用上了超级编导批量剪辑这款软件&#xff0c;这也是小编今天要推广给大家的一款批量剪辑工具。 超级编导问世两年多&#xff0c;吸取了同类软件的优点、并结合市场环境、用户反馈&#xff0c;弥补了其他软件的不足&#xff0c;能够一站式完成AI脚…

重写abp框架UserManager类

背景&#xff1a;用过abp框架的应该都知道&#xff0c;abp框架会封装一些成熟的类方法提供给使用者来使用&#xff0c;用来操作 一些内置的实体类&#xff08;类中一些字段设置为了protected internal&#xff09;&#xff0c;比如IdentityUser、IdentityRole等。但是这些封装的…

那些误导消费者的PoE交换机,你知道多少?

PoE交换机是一种具备供电功能的交换机&#xff0c;广泛运用于安保监控和无线覆盖领域&#xff0c;有效避免了对摄像头和无线AP进行繁琐的电源布线。通常来说&#xff0c;对于规模较大的无线覆盖和网络监控项目&#xff0c;大多数人会选择使用支持PoE的交换机。 自PoE供电技术问…

必看!2023年最新MSP开源应用程序指南电子书大揭秘

开源工具有利于节省成本、更好的技术和灵活性已经成为业界的共识。 在理想的世界中&#xff0c;我们用于工作的一切都可以是基于开源的。 但是在生产关键服务的实施和管理中&#xff0c;工程师和业务决策者必须有更好的决策方法来确定哪些工具可以适用于每个需求。 这并不表示…

A. Hit the Lottery

#include<bits/stdc.h> using namespace std; const int N1e55; int n,a[N],res; int main(){scanf("%d",&n);int an/100;n%100;int bn/20;n%20;int cn/10;n%10;int dn/5;n%5;int en;cout<<abcde;return 0; }

APISpace 手机号码归属地API接口案例代码

1.手机号码归属地API产品介绍 APISpace 的 手机号码归属地API&#xff0c;提供全国移动、联通、电信等手机号码归属地查询&#xff0c;上亿条数据囊括最新的170、166、147等号段&#xff0c;更新及时、准确度高。 2.手机号码归属地API详解 2.1 接口请求 请求方式&#xff1a…