p)分组 group by
select [xxx] from 表名 group by 字段名
把用户按年龄分组,并统计每个小组的用户个数
select count(*), age from t_user group by age;
分组条件 having
Having和where的区别
Having对分组之后的数据进行筛选
Where对分组之前的数据进行筛选
例子:
A.把用户按年龄分组,统计每个组内的用户个数,要求只显示用户年龄大 于 21的
B.把用户按年龄分组,统计每个组内的用户个数,要求只显示用户个数大于等 于两人的组
q)内连接
select * from t_a a inner join t_b b on a.id=b.id
等价于
select * from t_a b, t_b b where a.id=b.id
r)外连接
有左连接、右连接
left join 或 left outer join :以左表为准
right join 或 right outer join :以右表为准