内连接,外连接,自连接,隐式/显示内/外连接这些开发过程中经常使用就不说了。

一、联合查询union

SELECT 字段列表 FROM 表A ...
UNION [ALL]
SELECT 字段列表 FROM 表B ...

UNION ALL 会有重复结果,UNION 不会

联合查询比使用or效率高,不会使索引失效

二、子查询

1where是分组之前进行过滤,不满足where条件的数据不参与分组,而having是分组之后对分组结果进行过滤。

2.where不能对聚合函数进行判断,having可以。