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