Mysql分组查询和子查询

1.分组查询

分组查询是指使用GROUP BY字句对查询信息进行分组。
格式:SELECT 字段1,字段2… FROM 表名 GROUP BY分组字段 HAVING 分组条件;
分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条 件。

  • having与where的区别:
    • having是在分组操作执行后,对分组后的数据进行过滤.。
    • where是在分组操作执行前,对分组前表的原始列进行过滤
    • having后面可以使用聚合函数。where后面不可以使用聚合函数,只能用条件过滤。

聚合函数概念
聚合函数作用于一组数据,并对一组数据返回一个值。
聚合函数类型:
AVG()
SUM()
MAX()
MIN()
COUNT()

2.子查询

SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询

在WHERE子句中使用子查询能够编写出功能很强并且很灵活的SQL语句。
对于能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不能嵌套太多的子查询。

提示:子查询一般与IN操作符结合使用,但也可以用于等于、不等于等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容