首页 > 代码库 > 003.分组统计查询和表连接查询
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.分组统计查询和表连接查询