当前位置: 首页 > 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。

相关文章:

  • 中断和信号详解
  • 嵌入式软件--DAY8 IIC通讯下 硬件实现
  • 什么是maven(详细介绍)
  • MMDetection3D最全源码安装教程
  • 量子力学:量子力学为什么不属于经典物理学的范畴?
  • NISP和CISP有什么区别,哪个更好
  • JAVA 关键词
  • Mac系统-最方便的一键环境部署软件ServBay(支持php,java,python,node,go,mysql等)没有之一,已亲自使用!
  • 【LeetCode】大厂面试算法真题回忆(99)--Linux发行版的数量
  • TCP 的四次挥手
  • PTA刷题笔记(难度预警!!!有详解)
  • 再写数的划分(dfs)
  • 第四章 面向对象(基础)
  • SymAgent:一种用于知识图谱复杂推理的神经符号自学Agent框架
  • Linux Kernel调试:强大的printk(三)
  • Markdown 到 LaTeX:Overleaf 学习笔记
  • 基于javaweb的SpringBoot体检管理系统设计与实现(源码+文档+部署讲解)
  • 【C++】unordered_map、unordered_set 的使用
  • CQF预备知识:Python相关库 -- NumPy 基础知识 - ndarray 索引
  • vue3组件--无限滚动效果
  • 常德网站建设/深圳网站营销seo费用
  • 设计网站官网入口/seo短视频入口
  • 网站数据库问题/三只松鼠网络营销方案策划书
  • 企业网站 seo怎么做/网络营销和传统营销的区别有哪些
  • 做网站运营需要学什么软件/关键词优化seo公司
  • 网站面板/文案发布平台