003.分组统计查询和表连接查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003.分组统计查询和表连接查询相关的知识,希望对你有一定的参考价值。

--分组统计查询
group by
having

1 select 分组字段 ,聚合函数
2 having 后常跟聚合函数,也可以跟分组字段
3 where 后不可以直接跟聚合函数
4 where(筛选行) -group by (分组) -having (筛选组)

--表连接查询

1 笛卡尔积 (交叉连接 cross join)
a*b
A) SELECT * FROM A,B
B) SELECT * FROM A CROSS JOIN B
2 内连接
原理:
将两个表中关联字段相等的行查询出来

a) select * from a,b where a.id=b.id and
b)select * from a [inner] join b
on a.id=b.id and
where

3 外连接
左外连
右外连
原理:左表完全显示,右表显示与左表相同的部分(先写的是左表,后写的是右表)
全外连接 :左表右表都完全显示,相同数据显示1次

select * from a left|right|full [outer] join b
on a.id=b.id

4 自连接
A 什么时候用自连接
查询的条件是同一列的值需要相互比较时就可以使用自连接
B)
自己连接自己(要求用别名)
得到笛卡尔积,根据需求去找符合条件的行。
select t1.*,t2.* from a as t1,a as t2
where
-----------------------------------------------------

以上是关于003.分组统计查询和表连接查询的主要内容,如果未能解决你的问题,请参考以下文章

010.简单查询分组统计查询多表连接查询(sql实例)

连接查询和分组查询

表连接和分组查询

连表查询和分组查询

MySQL内的连接查询中的分组统计(内容补充)

MySQL内的连接查询中的分组统计(内容补充)