left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行如果 left join 的左表跟右表是一对多的关系,同时 SQL 语句中 select 了右表中的字段,那么可能会出现查询出重复记录的情况group by 用来进行分组,通常与 count(), sum(), avg(), max() 等聚合函数一起使用,使用 group by 一定要保证查询条件在数据库中是有值的,没有值的必须通过判断 null 或长度来过滤掉,没有参与分组的其它字段不能直接 select,因为可能会有一些值在 group by 后无法查询到查询出重复数据,要看表里面是否有重复的数据,还是 sql 语句的查询结果有重复数据将静态数据从 ArrayList 中存到一个 HashMap 里,可以提高查找速度复杂的语句应进行拆分,将部分 join 的数据集合提前在应用程序中查询好,再将数据集合丢到 sql 中 join ,或利用 HashMap 进行数据匹配