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

MySQL的查询进阶

一.聚合函数

1.1count的使用:

select count(*)from 表名;它是用来统计个数的

1.2sum的使用:

select sum(列名)from 表名;它使用来算一个整合的

其他的都类似使用即可

二.group by的使用:

它是进行分组查询,且select字段必须是“分组依据字段”,若不是的则要用聚合函数才可以。

select 列名1,列名2 from 表名 group by 列名1;如果是这样的话那么就会报错因为列名2它不是分组依据的字段因此要写成select 列名1,sum(列名2) from 表名 group by 列名1;若是求和就这样不是的话换成其他的聚合函数即可。

三.having的使用:

当使用分组查询时若你要先对这个进行一轮判断再来分组则用where若你要先进行分组再进行判断那么则用having。

四.表的连接

4.1内连接 

(表名分别为1,2且都有一个id列名)

当进行两个表的连接时:

1.先对它们进行笛卡尔积:select * from 1 join 2 ;

2.找到两个表的练级条件(1个):select * from 1 join 2 on 1.id=2.id;这样写成1.什么的好区分是哪个表的列名

3.看查询的列名的要求 :例若只让我查name这个列名则select  name  from 1 join 2 on 1.id=2.id;

4.根据题目再来进行相应改变即可。

4.2外连接(左连接和右连接)

select * from 1  left   join 2 on 1.id=2.id;

select * from 1  right   join 2 on 1.id=2.id;

4.3自连接

相当于要查询的是表中行与行之间的比较而我们SQL中是列与列的比较因此我们要对自己进行笛卡尔积(可以给自己的表用不同的别名然后连接起来即可)再来满足内连接的步骤即可。

4.4合并查询

就是将两个表的结果连接起来select * from 表名 union select * from 表名 ;这样子是将自动去重的若不想则将union换成union all。

http://www.xdnf.cn/news/643159.html

相关文章:

  • 学习STC51单片机15(芯片为STC89C52RCRC)
  • (九)PMSM驱动控制学习---高阶滑膜观测器
  • 网络 :序列和反序列化
  • <uniapp><threejs>在uniapp中,怎么使用threejs来显示3D图形?
  • 电子电路:电压就是电场么?二者有什么关系?
  • python打卡day36
  • Hutool使用
  • 针对面试- RabbitMQ消息队列篇
  • 【linux】umask权限掩码
  • Java类和对象知识点
  • 从lateral说起
  • Ansible常用Ad-Hoc 命令
  • react问一问
  • Axure 基本用法学习笔记
  • 修复ubuntu server笔记本合盖导致的无线网卡故障
  • 触发进程守护服务的判断因数
  • 《帝国时代1》游戏秘籍
  • 【2025】基于Springboot + vue + 协同过滤算法实现的旅游推荐系统
  • 云手机应该怎么选?和传统手机有什么区别?哪些云手机支持安卓12系统?
  • 第五十节:增强现实基础-特征点检测与匹配
  • springboot中过滤器配置使用
  • 基于RK3576+FPGA+CODESYS工控板的运动控制模块方案
  • 字节跳动GPU Scale-up互联技术白皮书
  • 使用CRTP实现单例
  • [yolov11改进系列]基于yolov11引入双层路由注意力机制Biformer解决小目标遮挡等问题python源码+训练源码
  • 优秀技术文档的构建与优化之道
  • Typescript学习教程,从入门到精通,TypeScript 进阶语法知识点及案例代码详解(13)
  • QStandardItemModel的函数和信号介绍
  • Java单例模式:懒汉模式详解
  • MyBatis-Plus一站式增强组件MyBatis-Plus-kit:打造更优雅的通用CRUD解决方案