having和where 的区别:
二者都时过滤条件,where运行在分组之前,因此不能执行任何聚合函数,having是运行在分组之后,只能用做聚合函数的过滤
当进行子查询时,如果子查询返回单行单列,可以使用<>=;如果子查询返回多行多列,是能使用in 或not in
内连接 :查询两个表中,有对应记录的数据 1.select 查询列 from 主表 join 从表 on 主表主键 = 从表外键
2. select 查询列 from 主表 ,从表 where 主表主键 = 从表外键
外连接 :在查询结果中包含一个表中的所有记录 select 查询列 from 主表 left join 从表 on 主表主键 = 从表外键