当前位置: 首页 > news >正文

Mysql 高级语句

目录

高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

不显示重复的数据记录:distinct

and且,or或

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

显示两个值范围内的数据记录:between

通配符:通常通配符都是跟 like一起使用的

按关键字排序:order by

函数:

数学函数:

聚合函数:

字符串函数:

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

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

别名:as字段別名 表格別名

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

连接查询:

inner join:

left join:

right join:

union 去重:

union all  不去重:


目录

高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

不显示重复的数据记录:distinct

and且,or或

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

显示两个值范围内的数据记录:between

通配符:通常通配符都是跟 like一起使用的

按关键字排序:order by

函数:

数学函数:

聚合函数:

字符串函数:

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

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

别名:as字段別名 表格別名

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

连接查询:

inner join:

left join:

right join:

union 去重:

union all  不去重:

视图表:可以被当作是虚拟表或存储查询。


高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

select 字段 from  表名;

添加内容:

显示表格中一个或数个字段的所有数据记录:

select 字段 from 表 where 字段

不显示重复的数据记录:distinct

select distinct 字段 from 表 

and且,or或

select 字段 from 表 where 条件1 and/or 条件2

and且

或or

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

select 字段 from 表 where 字段 in (值)

显示两个值范围内的数据记录:between

select 字段 from 表 where 字段 between ‘值1’ and ‘值2

通配符:通常通配符都是跟 like一起使用的

like:匹配一个模式来找出我们要的数据记录

% :百分号表示零个、一个或多个字符
_ :下划线表示单个字符
select 字段 from 表 where 字段 like ‘通配符’

按关键字排序:order by

select 字段 from 表 [where 字段] order by "字段" [asc,desc];

asc:默认以升序排序

desc:以降序排序

函数:
数学函数:

rand()                返回 0 到 1 的随机数

round(x,y)            保留 x 的 y 位小数四舍五入后的值

truncate(x,y)        返回数字 x 截断为 y 位小数的值

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

聚合函数:

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

avg()  :

count(*):返回所有值

count():

min() :

max():

 

sum(x):

字符串函数:

concat(x,y)            将提供的参数 x 和 y 拼接成一个字符串    或者   字段1  || 字段2 

可以添加空格符:

substr(x,y,z)        获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串

replace(x,y,z)        将字符串 z 替代字符串 x 中的字符串 y

length(x)            返回字符串 x 的长度

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

有一个原则,凡是在 group by后面出现的字段,必须在 selsect后面出现;
凡是在 select 后面出现的、且未在聚合函数中出现的字段,必须出现在 group by后面。

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

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

having的作用:根据group by分组后的结果再进行条件过滤

别名:as字段別名 表格別名

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

连接查询:

inner join    内连接,只返回两个表的字段相等的行记录
left join     左连接,返回左表所有的行记录和右表字段相等的行记录,不相等的行返回null
right join    右连接,返回右表所有的行记录和左表字段相等的行记录,不相等的行返回null
union         联集,将两个select查询语句的结果合并,并去重
union all     联集,将两个select查询语句的结果合并,不去重

full outer join   全外连接,返回左表和右表中所有的行记录,MySQL不支持

inner join:

left join:

right join:

union 去重:

union all  不去重:

视图表:可以被当作是虚拟表或存储查询。

视图跟表格的不同是,表格中有实际储存数据记录,而视图是建立在表格之上的一个架构,它本身并不实际储存数据记录。

视图表的数据是否能修改?

视图表保存的是select查询语句的定义。如果select语句查询的字段是没有被处理过的源表字段,则可以通过视图表修改源表数据。
 如果select语句查询的字段被 group by 或 函数 等处理过的字段,则不可以直接修改视图表的数据。
create view  视图表名  as  select语句;

相关文章:

  • P5729 【深基5.例7】工艺品制作题解
  • 数据资源将被视为资产 明天起纳入财务报表
  • 防火墙双机热备配置步骤
  • ubuntu22.04 安装jdk8,jdk11,jdk17,jdk21 并且便于切换
  • Springcloud Alibaba使用Canal将Mysql数据实时同步到Redis保证缓存的一致性
  • 继续声明 | 连声明都抄,谁抄袭谁,一目了然,现在竟然恬不知耻的反咬一口。
  • c语言实现得到某数的某方(n^k)的值
  • IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!
  • C语言之整型提升
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • mysql使用全文索引+ngram全文解析器进行全文检索
  • 基于SpringBoot的中小型企业质量管理
  • 医院安全(不良)事件报告系统源码 支持二次开发、支持源码交付
  • Postman接口测试工具使用
  • STL——查找算法
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • CEF与代理
  • CSS中外联样式表代表的含义
  • golang 发送GET和POST示例
  • Python - 闭包Closure
  • quasar-framework cnodejs社区
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 技术发展面试
  • 两列自适应布局方案整理
  • 三分钟教你同步 Visual Studio Code 设置
  • 推荐一个React的管理后台框架
  • 微信开源mars源码分析1—上层samples分析
  • Java性能优化之JVM GC(垃圾回收机制)
  • kubernetes资源对象--ingress
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #13 yum、编译安装与sed命令的使用
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2020)Java后端开发----(面试题和笔试题)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)kafka实战——kafka源码编译启动
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core Swagger 过滤部分Api
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .Net 高效开发之不可错过的实用工具
  • .NET框架设计—常被忽视的C#设计技巧
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @GetMapping和@RequestMapping的区别
  • [ linux ] linux 命令英文全称及解释
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题