在mysql中,有三种配合条件使用的关键字,分别是where、on、having,这三个关键字使用和效率上是有很大的区别的:
where:
我们最一开始使用的使用的关键字就是where,where的功能是定义表(包括临时表)行记录的查询条件。
on:
on关键字在连表查询时使用,它定义了连接查询时表连接的条件,on查询结果为临时表,如果在连接查询SQL中同时使用where,where条件用于判断on查询的临时表的行记录条件。很显然on条件会先执行,使用得当的话,on会比where的效率一些,因为on直接根据条件生成临时表。
having:
having条件用在分组过滤后,对分组的结果进行过滤。