MySQL——高级数据操作

本文详细介绍了SQL的高级查询、聚合分组和子查询相关知识。高级查询包括去重复、限定行数、条件过滤等多种操作;聚合分组涉及聚合函数如count、sum等,以及分组操作group by和聚合过滤having;还提及了子查询在where中的嵌套。阐述了各操作的语法和执行顺序。

一    高级查询

1 去重复查询 distinct(字段名):distinct要放在要查询的字段的最前面。

  select distinct(sage) , sname from student;

2  限定行数的查询 limit  limit后面的参数是一个或两个

    limit  n 表示从第一行开始返回n行结果

    limit m,n表示从第m+1行开始返回n行结果,所以limit是可以实现数据分页的效果

3条件过滤

    1  单条件过滤:select  字段1,字段2  from  表名  where  字段3=值;

       这里最后面的关系运算符有:>  >= < <=   =   !=

     2  多条件过滤:select  字段1,字段2  from  表名  where  条件1  and或者or  条件2;

4  选择范围

    select *from  表名  where  字段  between m  and n;

    betweem后面的是一个闭区间即[ m, n ]

5  定义集合(这里的关键字是in/not in

    select *from  表名  where  字段  in( l,m ,n);

    select *from  表名  where  字段  in( 22,24 ,25);查看年龄为22,24,25的学生的信息。

6模糊查询

select *from  表名  where  sname  like'_';

select *from  表名  where  sname  like'd%';所有以d开头 的

select *from  表名  where  sname  like'%a';所有以a结尾的

select *from  表名  where  sname  like'%a%';只要名字中有a的数据

select *from  表名  where  sname  like'_a%';查询名字中第二个字母是a的数据

关于like模糊查询,有两个关键字需要记住:

                                       _(下划线):代表任一一个字符,可能代表a也可能代表b...

                                       %(百分号):代表任意的n个字符,可能代表ab也可能代表abcd...

7处理空值数据

select *from  表名  where  sagel  is null;

    判断条件不能是字段=null,要写为字段 is null // is  not null;

8排序操作

使用order by排序时字段后面加上asc或desc     asc表示正序desc表示倒序

select *from  表名  order by sage asc;

select *from  表名  order by sage desc;

多次排序

select *from  表名  order by sage asc,sexx desc;

sql执行顺序:1执行from选表 2where条件过滤 3select选字段 4order by排序

二  聚合分组

2.1 聚合函数

SQL中提供的聚合函数可以用来求值,统计等

count():统计行数量(可以是某一个字段,也可以是某一个表)

sum():求某个列的和             如果指定列是字符串类型,那么使用字符串排序运算;

avg():求某个列的均值          如果指定列是字符串类型,那么使用字符串排序运算;

max():求某个列的最大值     如果指定列类型不是数值类型,那么计算结果为0;

min():求某个列的最小值      如果指定列类型不是数值类型,那么计算结果为0;

1,select count(计数对象) from  表名  where   条件;

count(*) 计数表的所有行,包括null值 :select count(*) as  con  from  表名  ;计算表的所有行记录,con是新起的别名

count(*) 加where条件计数表的记录:select count(*) from  表名  where   sexx=0;计算有多少女生

count(字段) 计算有多少不重名女生  select count(distinct sname) as '人数' from  表名  where  sexx=0;//修饰的字段为参

2,计算年龄和 select  sum(sage) from student;

3,  计算平均年龄select  avg(sage) from student;

4,返回年龄最大最小的学生信息select  max(sage) , min(sage) from student;

2.2 分组 group by  

1,查询每个部门编号和每个部门的工资和:

    select deptno, sum(sal) from emp group by (deptno);

2, 查询每个部门的编号以及每个部门工资大于1500的人数:

   select deptno, count(*) from emp where sal>1500 group by deptno;

加入where条件执行顺序:where过滤——分组——聚合

后面也可以用having过滤如下:

2.3   聚合过滤 (实现在进行聚合后再执行过滤)

  • 查询工资总和大于9000的部门编号以及工资总和:
  • select deptno, sum(sal) from emp group by deptno having sum(sal)>9000;
  • 查询平均年龄大于22岁的不同学生
  • select sname, avg(sage) as  averege from student   group by (sname) having avg(sage)>22;

SQL顺序:执行from—where条件过滤—group by—执行select选择列—having条件过滤—order by排序—limit限定行数(分页)

注意: 

1. having是在分组聚合后对数据进行过滤,而where是在分组前对数据进行过滤 
2. having后面可以使用聚合函数(统计函数),where后面不可以使用聚合函数
凡是和聚合函数同时出现的列名,一定要写在group by 之后 即这里的sal   sname
group by 一般会合聚合函数配合使用,单独使用的时候意义不大

三 子查询

1在where中嵌套

 

 

 

 

 

 

 

 

 

 

光伏储能虚拟同步发电机VSG并网仿真模型(Similink仿真实现)内容概要:本文档介绍了光伏储能虚拟同步发电机(VSG)并网仿真模型的Simulink实现方法,重点在于通过建立光伏储能系统与虚拟同步发电机相结合的仿真模型,模拟其在并网过程中的动态响应与控制特性。该模型借鉴了同步发电机的惯性和阻尼特性,提升了新能源并网系统的频率和电压支撑能力,增强了系统的稳定性与可控性。文档还提及相关电力系统仿真技术的应用,包括逆变器控制、储能配置、并网稳定性分析等,并提供了完整的Simulink仿真文件及技术支持资源链接,便于科研人员复现与二次开发。; 适合人群:电气工程、自动化、能源系统等相关专业的研究生、科研人员及从事新能源并网技术开发的工程师。; 使用场景及目标:①用于研究光伏储能系统在弱电网条件下的并网稳定性问题;②掌握虚拟同步发电机(VSG)控制策略的设计与仿真方法;③支持高水平论文(如EI/SCI)的模型复现与创新研究;④为微电网、智能电网中的分布式能源接入提供技术参考。; 阅读建议:建议结合提供的Simulink模型文件与文档说明逐步操作,重点关注VSG控制模块的参数设置与动态响应分析,同时可延伸学习文中提及的MPPT、储能管理、谐波分析等相关技术,以提升综合仿真能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值