MySQL分组查询 表连接

分组查询 表连接

一.单列分组查询语法

SELECT…FROM (表名)

WHERE 筛选条件

GROUP BY 分组 列1

如果有WHERE WHERE在前 分组在后

先进行筛选 再进行分组

二.多列分组查询语法

SELECT…FROM (表名)

WHERE 筛选条件

GROUP BY 分组 列1…列2

三.HAVING查询语法

SELECT…FROM (表名)

#WHERE 对于分组前的数据做筛选

GROUP BY 分组 列1

HAVING 一般都跟聚合函数() 分组筛选 对于分组后的数据做筛选

四.WHERE与HAVINGD对比

WHERE子句

用来筛选 FROM 子句中指定的操作所产生的行

GROUP BY子句

用来分组 WHERE 子句的输出

HAVING子句

用来从分组的结果中筛选行

在这里插入图片描述

五.分组查询完整语法

SELECT 列名

FROM 表名

WHERE 筛选条件

GROUP BY 被分组的列

HAVING 分组后的数据的筛选

ORDER BY 排序 DESC从大到小降序 默认ASC从小到大升序

LIMIT 取其中某几条

六.表连接

内链接(INNER JOIN)

语法:

SELECT 列名1 列名2 …

FROM 表一

INNER JOIN 表二

ON

内连接 : 处理表里都有的数据

多表连接查询可以在后面加上别名 AS

不重名的列 可以不加别名

重名的列一定要加别名

多表查询的完整语法:

SELECT 列名

FROM 表名

INNER JOIN 表连接

WHERE 条件筛选

GROUP BY 分组

HAVING 分组筛选

ORDER BY 排序 DESC从大到小降序 默认ASC从小到大升序

LIMIT 取部分显示

七. 三表内连接

SELECT

FROM 表一

INNER JOIN 表二 ON

INNER JOIN 表三 ON

三表连接起别名 AS后面不能重复

八.左外连接 右外连接

左外连接语法:

SELECT 列名1 列名2…

FROM 表一 LEFT JOIN 表二 AS 别名 ON

左外连接 左边的表就是主表 右边的是从表

右外连接语法:

SELECT 列名1 列名2…

FROM 表一 RIGHT JOIN 表二 AS 别名 ON

右外连接 右边的表就是主表 左边的从表

左外连接与右外连接是一样的

区别:就是主表和从表位置不一样

主表有 从表没有 但是都要展示出来 用NULL填充展示

就要找出哪一个表要一定展示 一定展示的就是主表
AS 别名 ON

右外连接 右边的表就是主表 左边的从表

左外连接与右外连接是一样的

区别:就是主表和从表位置不一样

主表有 从表没有 但是都要展示出来 用NULL填充展示

就要找出哪一个表要一定展示 一定展示的就是主表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值