温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本节课我们来讨论一下如何在SQL中过滤分组数据。在SQL语句中可以使用having子句来过滤分组后的数据,通过指定过滤条件可以对分组后的数据进行筛选。注意在使用having子句的时候,需要先分组再过滤。在进行实操演示之前,先来看一下需要用到的数据。员工表EMP中一共有14行5列数据,这里的5个列分别表示员工姓名、职位、薪税、奖金和员工所在部门的部门号。了解到了基本的信息后,下面通过具体的事例来进行演示。如何在SQL语句中过滤分组数据,查询部门平均工资大于2000元的部门信息。这里的SQL语句先使用了group by子句,按照部门号对员工表数据进行了分组,并使用LVG函数求出了每个部门的平均工资,然后再使用了having子句过滤分组后的数据,从而得到平均工资大于2000元的部门信息。因此。
01:00
从功能上看,在SQL语句中,Where子句与having子句类似,如果把上面的SQL语句改成使用where子句,将得到此处不允许使用组函数的错误。因此,V尔子句与having子句最大区别在于在V尔子句中不能使用组函数。反之,如果在过滤条件中没有组函数,维尔子距与having子句可以通用。例如,这里的示例将查询10号部门的平均工资,此时既可以使用having子距,也可以使用wherer子句,因为在过滤条件中不包含组函数。现在你已经知道如何在SQL中过滤分组数据了,那你知道where子句与having子句哪一个子句效率更高吗?欢迎评论区留言讨论好了,记得点加号关注赵宇强老师。
我来说两句