Loading

SQL7 查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t

https://www.nowcoder.com/practice/6d4a4cff1d58495182f536c548fee1ae?tpId=82&tags=&title=&difficulty=0&judgeStatus=0&rp=1

select a.emp_no,count(*) t
from salaries a inner join salaries b on a.emp_no=b.emp_no and a.to_date = b.from_date
where a.salary < b.salary
group by a.emp_no
having t > 15;

知识点

  • count:count(*) 返回检索行的数目, 不论其是否包含 NULL值

  • having: 在select语句中使用having 子句来指定一组行或聚合的过滤条件
    having 子句通常与 group by子句一起使用,以根据指定的条件过滤分组。如果省略group by子句,则having 子句的行为与where 子句类似

WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。

HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。

  • 内连接:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。
posted @ 2022-01-08 18:05  Zhbeii  阅读(57)  评论(0)    收藏  举报